もうひとつのRubyインストーラ: ruby-install

Pocket

Rubyのインストーラといえば RVMrbenv+ruby-build が有名ですが、最近新たに ruby-install が登場しました。

ruby-install は rvm userbenv local のような Ruby 環境の切り替えや管理の機能はなく、Ruby のビルドとインストールだけに特化しているようです。また各ユーザ毎にインストールするのが一般的な RVM や rbenv と違い、ruby-install はデフォルトで /usr/local 以下にインストールされるため、システムワイドに使う運用にも適しています。

rbenv の開発者である Sam Stephenson 氏も ruby-install の方針に対して、以下のように好意的な反応を示しています。

** ruby-install のインストール
ruby-install では普通にアーカイブをダウンロードして make install することでインストールします。デフォルトでは /usr/local 以下にインストールされます。
>||
$ wget -O ruby-install-0.1.3.tar.gz https://github.com/postmodern/ruby-install/archive/v0.1.3.tar.gz
$ tar -xzvf ruby-install-0.1.3.tar.gz
$ cd ruby-install-0.1.3/
$ sudo make install
||<
ホームディレクトリ以下など、任意のディレクトリにインストールしたい場合は PREFIX を指定してインストールします。
>||
$ make install PREFIX=$HOME/install
||<

** Ruby のインストール
Ruby のインストールは ruby-install ruby を実行します。バージョンを指定しない場合は最新安定板がインストールされます。
筆者は CentOS 6.4 で試しましたが、yum-plugin-security をインストールしていないと yum の実行に失敗するようです。この場合は先に yum install yum-plugin-security を実行しておく必要があります。
>||
$ sudo yum install yum-plugin-security
$ sudo ruby-install ruby
||<
インストールするバージョンを指定したい場合は ruby-install ruby 2.0 のようにします。
>||
$ sudo ruby-install ruby 2.0
||<
利用可能なバージョンのリストはオプション無しで ruby-install を実行すると表示されます。
>||
$ ruby-install
Supported Rubies:
ruby:
1.8: 1.8.7-p371
1.8.7: 1.8.7-p371
1.9: 1.9.3-p429
1.9.3: 1.9.3-p429
2.0: 2.0.0-p195
2.0.0: 2.0.0-p195
stable: 1.9.3-p429
jruby:
1.7: 1.7.4
stable: 1.7.4
rubinius:
1.2: 1.2.4
2.0: 2.0.0-rc1
2.0.0: 2.0.0-rc1
stable: 2.0.0-rc1
||<

root でインストールした場合、デフォルトでは /opt/rubies 以下に、一般ユーザの場合は ~/.rubies に Ruby がインストールされます。
インストールした Ruby を使う場合は自分で PATH を設定しておく必要があります。
>||
$ PATH=/opt/rubies/ruby-2.0.0-p195/bin ruby –version
ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-linux]
||<

ruby-install のコマンドラインオプションの詳細は ruby-install --helpREADME で確認できます。

** まとめ
ruby-install は Ruby のビルド・インストールのみに特化したインストーラで、システムワイドに使う運用に適しています。使い方は簡単で動作もわかりやすいので、サーバに Ruby をインストールする時に試してみてはいかがでしょうか。

投稿者紹介

齊藤 潤
サーバ運用もできるプログラマと化した、2013年入社の元新人エンジニアです。

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください