2010-04-28
■ [ruby] rvmを使うと、複数のRubyを共存したり、Rails 2/3を共存したりできる
という話がRuby Freaks Loungeに上がってましたね(丸投げ)。
- Ruby Freaks Lounge:第39回 RVM(Ruby Version Manager)による環境構築|gihyo.jp … 技術評論社
- Ruby Freaks Lounge:第40回 RVM(Ruby Version Manager)による環境構築(2)|gihyo.jp … 技術評論社
今のところMacPortsのruby 1.8.7を普段使いとして、自前コンパイルの1.9.1を動作確認用として使ってるんだけど、 そろそろrvmに乗り換えてもいいかなーと思ったり。
rvmの利点の一つはgemsetで、Rails 2.3.4とRails 2.3.5とRails 3 beta3 を共存させたりできる。(使う前にrvm use ruby-1.8.7@rails3 みたいにして切り替える)
gemsetの仕様がまだ把握できてないんだけど(というか仕様固まってるのかなw)、
- 各Ruby処理系ごとにいくつかのgemsetを作れる
- 例:ruby-head@rails3, ruby-head@rails2, ruby-head (←デフォルトのgemsetは無名)
- "global"という名前のgemsetにインストールしたgemは、そのRuby処理系に共通のものとなる
- 例:ruby-head@globalのgemは、ruby-head@rails3、ruby-head@rails2、ruby-headのどれからでも見える
ということでいいのかな。
つまり"global"とはいえRuby処理系をまたぐことはできないと。まあCRubyとJRubyだとインストールするgem違ったりするから(拡張ライブラリ系のやつね) そんなもんかな。
rvmはごちゃごちゃしてるからなあ。<br>ruby-tapperとかいう代物を作ってしまった。