バージョン違いのRubyをインストールする方法について整理してみる
現状のRubyは1.9系と1.8系をいれておかないといけないような気がするけどどのように管理するのがよいのだろうか。
僕が知る限りの方法では以下のとおりでしょうか。
- パッケージマネージャに任せる
- rvmを使う
- Zentestのmultirubyを使う。
- サフィックスをつける
- インストールする場所を変える
パッケージマネージャにまかせる。
aptやらyumやらmac portsやらはrubyパッケージとは別にruby1.9とかruby19などのパッケージが用意されているのでこれを使う方法。楽なのだけれどもバージョンが少し古かったりする。
Ubuntuだと以下のような感じでインストールします。
$ sudo apt-get install ruby1.9.1
rvmをつかう
今一番モダンな方法なのでしょうか?
http://rvm.beginrescueend.com/
jrubyなんかも使えて良い感じ。。僕が使ってみた限りではなんだか起動が遅くなってしまった(irbとrspecを使用していると結構気になる)。OSX付属のrubyが遅いのが原因のような気がしていますが詳しくは調べていません。
$ rvm use 1.9.1
とするだけで切り替えられるのは良い感じです。
ZenTestのmultirubyを使う。
ZenTestについてくるmultirubyを使います。テスト目的なら有用な選択肢で、一つのコマンドでインストール済みのすべてのruby実行してくれます。
サフィックスをつける
パッケージ管理でやっている手法を自分でやる感じです。Rubyを自分でコンパイルすることになります。configure をするときに --program-suffix=1.9.1 のようにします。
個人的にはgemでインストールされる実行スクリプトが上書きされてしまうのが気になりますが、些末な問題かもしれません。(rspecをインストールしたときに作成されるspecとか)