rvmについて一言

rvmっていうのがあります。Rubyを切り替えるアレですね。 便利そうだしみんな使ってるから使ってみようって思った方、ちょっと待って下さい。rvmのソース見たことありますか? 僕はいくつかパッチをContributeした経験があるのですがrvmにはいくらか問題があります(rvmを使わなくなって久しいので現状とは異なるかもしれません)。

とまあ、そんな感じで、ちょっと色々と問題を孕んでるんですね。 当時はgemをプロジェクトごとに管理できるBundlerがまだまだな感じで、rvmのgemsetを使って環境切り替えをしたりしていた記憶もあるのですが、もうBundlerはデファクトになったし、やっぱりrvm自体がオワコンだと思うんです。

代替の方法は一杯あって、Rubistの数だけ存在すると聞いていますが、人によってはrubyのsymlink張替えスクリプトなどで対応していたりしてると思います。僕はやはり自作のrubiesというツールでPATH等を書き換えて切り替えています。

rubiesってなんじゃらほい

以下のことができるRubyと僅かなシェルスクリプトで書かれたすごく小さいRuby環境切り替えツールです。

また、以下のことはできません。自分で頑張って下さい。

Get Started!

簡単な使い方はこんな感じで、これはRuby Enterprise Editionを切り替えて使う例。今すぐ始められます!

  1. レポジトリ全体~/.rubiesにcloneする。

    $ git clone git://github.com/niw/rubies.git ~/.rubies

  2. ~/.rubies/src/rubies.sh~/.bashrcとか~/.zshrcsource

    source "$HOME/.rubies/src/rubies.sh"

  3. ruby~/.rubies/#{name}に自分でソースからmakeして入れる。

    $ tar xzvf ruby-enterprise-1.8.7-2009.10.tar.gz $ cd ruby-enterprise-1.8.7-2009.10 $ ./installer -a \ "$HOME/.rubies/ruby-enterprise-1.8.7-2009.10"

  4. ~/.rubies内でシンボリックリンクを張って別名も作れます。

    $ cd ~/.rubies $ ln -s ruby-enterprise-1.8.7-2009.10 ree

  5. rubiesコマンドでrubyを切り替え。

    $ rubies ree

さらに

Rubyのビルドに関してはMac OS Xで且つHomwbrewを使うこと前提になっていますが、configure用のスクリプト等も入れてあります。

あと.rubiesrcファイルを使ってプロジェクトごとにrubyを切り替えるとかいうこともできます。詳しくはgithubのレポジトリをご覧ください。