LoginSignup
7
0

More than 1 year has passed since last update.

Rubyのインストール方法いろいろ

Last updated at Posted at 2022-12-12

Rubyのインストール方法は色々あるので、思いつくものを列挙していきたいと思います。

インストール方法いろいろ

どの環境でもソースからのインストールがありますが、それは省略します。

Windows

Windows なら RubyInstaller とか各種パッケージマネージャを使うのでしょうか。Windows 環境を使っていないので詳しいことはわかりません。RailsInstaller というのはちょっとみてみた感じだと最近は更新されていないようです。

macOS

  • OS にまだ /usr/bin/ruby が入っているかもしれませんが、将来(OSの他のプログラムからの依存がなくなったら?)削除される予定なので、普通は依存しない方が良いでしょう。

macOS や Linux 共通

  • rbenvruby-build : 普段はこれを使っています。Rubyコミッターでも使っている人が多いし、メンテナンスに関わっているコミッターもいるので、準公式のようなものかもしれません。
  • RVM : Bundler がなかった頃、 RubyGems の環境を分離するために使っていたことがあります。シェルの環境の書き換えの癖が強いようで、カスタマイズしているものを壊されて使いにくかったので使わなくなりました。バージョンによってはいくつか独自パッチをあてていることがあるようなので、同じRubyのバージョンでも、他のインストール方法と挙動が違うことがあるかもしれません。
  • chruby : 使ったことがないので評価できないのですが、インストール方法は ruby-build などを使うようなので、標準的なRubyを使えるようです。

パッケージマネージャ

  • Homebrew : 基本的には最新安定版が入ります。 ruby@3.0 などで古いバージョンもインストールできます。使っていないので評価できないのですが、パッケージを brew upgrade にまとめたいときに便利そうです。
  • apt など : それぞれの OS のパッケージマネージャにまかせると、他のパッケージと一緒に更新できて楽そうです。基本的に OS のリリース時のバージョンで固定されて、古いバージョンに固定されることになりがちなので、それが気にならない用途に向いています。バッチ処理用の小さいプログラムなどに使っています。
  • snap : Ubuntu などで sudo snap install ruby --classic でインストールできる ruby です。https://github.com/ruby/snap.ruby で開発されていて、これも準公式のようなものです。環境が分離されていて、自動更新されるのは利点ですが、環境が分離されているので、たとえばDebian上だとlibcのバージョン違いの問題で、拡張ライブラリを使うgemが使えないことがあります。

Dockerイメージ

  • https://hub.docker.com/_/ruby : Docker コミュニティの公式イメージ。Docker に詳しい人達がメンテナンスしているはずなので、環境変数などの設定は Docker に便利なようになっていて、Ruby の標準的なインストールとは違うものがあるようです。
  • https://hub.docker.com/r/rubylang/ruby : Rubyコミッターが作成しているイメージ。Ruby の標準的なインストールに近いので、そういうRubyが使いたいとか、動作確認したい、という用途に向いています。

特殊用途のDockerイメージ

その他

  • まだ安定版が正式リリースされたRubyではないのですが、ruby.wasmを使ってインストールせずに使うという用途も少しずつ出てきています。

まとめ

色々なインストール方法とその概要を紹介しました。
基本的には個人の感想なので、参考にして、自分に向いた方法を使ってみてください。

7
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0