Mac OSX で rbenv と ruby-build を使って Ruby をインストールする

rbenv (sstephenson/rbenv · GitHub) と ruby-build (sstephenson/ruby-build · GitHub) を使って Ruby をインストールして、異なるバージョンの Ruby を切り替えて利用するためのメモ。

rbenv 等のインストール

まず先に MacPorts で openssl、readline、iconv をインストールしておく。

$ sudo port install openssl readline libiconv

rbenv と ruby-build をインストールする。

$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ mkdir ~/.rbenv/plugins
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

インストールできる Ruby バージョンの一覧を更新する場合は ruby-build をアップデートする。
git でインストールした ruby-build のアップデートは pull するだけ。

$ cd ~/.rbenv/plugins/ruby-build
$ git pull

.bash_profile を編集してパスを設定する。

if [ -d $HOME/.rbenv/bin ]; then
    export RBENV_ROOT=$HOME/.rbenv
    export PATH="$RBENV_ROOT/bin:$PATH"
    eval "$(rbenv init -)"
fi

インストールされている使用可能な Ruby のバージョンのリストを表示させる。
rbenv で Ruby をインストールする前はシステムにインストールされた Ruby のみ表示されている。
使用中のバージョンの行頭に * が付く。

$ rbenv versions
* system (set by /Users/hoge/.rbenv/version)

rbenv でインストール可能な Ruby のバージョンのリストを表示させる。

$ rbenv install --list
Available versions:
  1.8.6-p383
  1.8.6-p420
  1.8.7-p249
  1.8.7-p302
  ...略...
  ree-1.8.7-2012.01
  ree-1.8.7-2012.02
  topaz-dev

Ruby のインストール

MacPorts でインストールした openssl、readline、iconv のパスを CONFIGURE_OPTS で指定し、Ruby のインストールを実行する。
Ruby のバージョンはリスト表示で確認したフルネームを指定する。

$ CONFIGURE_OPTS="--with-openssl-dir=/opt/local --with-readline-dir=/opt/local --with-iconv-dir=/opt/local" rbenv install 1.9.3-p392

インストール後に忘れずに rehash する。

$ rbenv rehash

インストールに成功すると、versions で表示されるリストにインストールしたバージョンの Ruby が確認できる。

$ rbenv versions
* system (set by /Users/tom/.rbenv/version)
  1.9.3-p392

インストールした Ruby の有効化

インストールした Ruby を有効化する。
リスト表示された Ruby のバージョンをフルネームで指定する。

$rbenv global 1.9.3-p392

Ruby のバージョンを確認すると、使用される Ruby が切り替わっていることが確認できる。

$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin10.8.0]

システム標準の Ruby に戻すには、system を指定する。

$ rbenv global system
$ ruby -v
ruby 1.8.7 (2012-10-12 patchlevel 371) [i686-darwin10]

特定ディレクトリ以下でのみ Ruby のバージョンを切り替える場合は、local で設定する。

$ cd somedir/
$ rbenv local 1.9.3-p392

local の設定を解除する。

$ cd somedir/
$ rbenv local --unset

gem でコマンドをインストールした場合などに rehash を忘れずに実行する。

$ gem install rails
$ rbenv rehash

参考サイト

«
»