パラボラアンテナと星の日記

あることないこと

chrubyでラクラクrubyバージョン切り替え

rbenvも良いですが、chrubyも直感的でわかりやすいです。

使いかた

f:id:hoppie:20141123090731g:plain

$ ruby -v                                            
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
$ which ruby                                         
/usr/bin/ruby
$ chruby                                             
   ruby-1.8.7-p375
   ruby-1.9.3-p392
   ruby-2.1.0
   ruby-2.1.2
   ruby-2.1.3
   ruby-2.1.4
   ruby-2.1.5
   ruby-2.2.0-preview1
$ chruby 2.1.5                                       
$ ruby -v                                            
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin13.0]
$ which ruby                                         
/opt/rubies/ruby-2.1.5/bin/ruby
$ mkdir old_project                                  
$ echo '1.9.3' > old_project/.ruby-version           
$ cd old_project                                     
$ ruby -v                                
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin13.0.2]
$ which ruby                             
/opt/rubies/ruby-1.9.3-p392/bin/ruby

rbenvは、rehashとかだるいというイメージがあるのでchrubyを使います。

しかしなんでも、最近rehash不要になったらしいです。(関連PR)


準備


ruby-build

brewruby-buildは、いろいろとだるいイメージ(古いのをuninstallして--HEAD で入れなきゃいけないイメージ)が有るのでgitを使います

$ git clone git@github.com:sstephenson/ruby-build.git


chruby

brewで入ります

$ brew install chruby

次にchrubyのスクリプトzshとかの設定ファイルに書いて完了です。

.ruby-versionファイルでそのプロジェクトのrubyバージョンを記述する」というのが、de-factoみたいなところがあると思いますので、.ruby-versionを自動的に読むように、以下の節を参考に設定します。

https://github.com/postmodern/chruby#auto-switching

これでカレントに.ruby-versionがあればそれを読み込みます


rubyをインストールします(ruby-build)

2.1.5 の例

$ cd ruby-build
$ git pull origin master
$ mkdir -p /opt/rubies
$ ./bin/ruby-build 2.1.5 /opt/rubies/ruby-2.1.5