概要
ちょっと、いろいろなバージョンの Ruby を使用しないといけない状況に陥ったので rbenv での ruby のバージョンを管理をする方法のメモ。 環境は、 Mac を使用しているので Homebrew を使って rbenv をインストールしています。
以前に Mac OS X 10.8 に Ruby 1.9.3 をインストールする方法 で rvm を使ってインストールしていましたが、ごっそりアインインストールをしています。
インストール
まず rbenv と ruby-build をインストール
$ brew install rbenv ruby-build
パスを通す&設定反映
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ rbenv rehash
インストール可能なバージョンを調べるには
$ rbenv install -l
で確認できますが、 JRuby とかいろいろ出てくるので
$ rbenv install -l | grep -E "\s+[0-9]"
のようにしたほうが多少探しやすくなるかも。
とりあえず Ruby 1.9 と 2.2 をインストール
$ rbenv install $(rbenv install -l |grep -E "^\s+1.9" | tail -n 1)
Cloning https://github.com/ruby/ruby.git...
Installing ruby-1.9.3-p551...
Installed ruby-1.9.3-p551 to ~/.rbenv/versions/1.9.3-p551
$ rbenv install $(rbenv install -l |grep -E "^\s+2.2" | tail -n 1)
Cloning https://github.com/ruby/ruby.git...
Installing ruby-2.2.1-dev...
Installed ruby-2.2.1 to ~/.rbenv/versions/2.2.1
システム全体で使用する Ruby を最新バージョンに切り替えるs
$ rbenv global $(rbenv versions | sed -e "s/\*/ /g" | sort -n | tail -n 1 | cut -d " " -f 3)
アンインストール
アンインストールも簡単、インストールしたフォルダ自体を削除するか聞かれるので、まぁ基本は y
一択だと思われる
$ rbenv uninstall 1.9.3-p551
rbenv: remove ~/.rbenv/versions/1.9.3-p551? y
ただし、選択している Ruby をアンインストールした場合、選択し直さないといけない
$ rbenv versions
rbenv: version `1.9.3-p551' is not installed
system
2.2.1
バージョン管理
システムにインストールされている Ruby のバージョンを確認するには
$ rbenv versions
system
1.9.3-p551
* 2.2.1 (set by ~/test/.ruby-version)
です。
*
マークが付いているバージョンが現在選択されている Ruby のバージョンで、バージョンの後ろについている set by XXXX
は、.ruby-version
ファイルによってローカルでは、このバージョンが指定されています、ということです。
この状態でバージョンを確認すると
$ ruby -v
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin13.4.0]
となります。
あるプロジェクトがシステムで使用しているバージョンと違うバージョンの Ruby を必要としているなら
$ rbenv local 1.9.3-p551
このようにします。
すると
$ ruby -v
ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-darwin13.4.0]
となります。
まとめ
インストール可能な一覧を取得
$ rbenv install -l | grep -E "\s+[0-9]"
Ruby をインストール
$ rbenv install バージョン
Ruby をアンインストール
$ rbenv uninstall バージョン
インストールされている Ruby のバージョンの一覧を表示
$ rbenv list
システムで使用する Ruby のバージョンを変更
$ rbenv global バージョン
ローカル(カレントディレクトリ以下)で使用する Ruby のバージョンを変更
$ rbenv local バージョン