[ruby] 複数バージョンのrubyを使い分ける rvm をインストール

ruby1.8系7ruby1.9系、更にはjrubyまでもをコマンド一つで切り替えられる素晴らしいツール。

しかも、
rvm install jruby
と入力するだけで、インストールまでしてくれる。
何とも至れり尽くせり!!


■インストール

#gem install rvm
%rvm-install

たったこれだけ。

のはずなんだけど。。。
確かにcygwin環境では上記の手順だけでインストールは正常終了したけれども、Vine Linux では rvm-install が上手く動いてくれない。

以下、対策。

1.インストールの際にコールされるスクリプトパーミッション修正
実行属性が抜けているので、立ててやる

#chmod +x /usr/lib/ruby/gems/1.8/gems/rvm-0.0.27/scripts/*

2.シェルスクリプトが途中で落ちる
何故か rvm-0.0.27/scripts/rvm の


PATH=${PATH%:}
の部分で落ちている。
どうも設定されているパスが長いと落ちてしまうようだ(vine特有???)。

根本から直すのは面倒なので、

#  PATH="${PATH%:}"
  PATH=`echo $PATH | /usr/bin/ruby -e 'puts gets.chomp.gsub(/:$/,"")'`

と、いい加減な修正をする。



3.rvm-install 自体が動かない
満を持して rvm-install を実行しても

sh: line 1: bash -l -c 'cd /usr/lib/ruby/gems/1.8/gems/rvm-0.0.27 && ./scripts/rvm-install  && source ~/.rvm/scripts/rvm': そのようなファイルやディレクトリはありません

とエラーが出力される。
もう面倒なので、"bash -l -c ..... ~/.rvm/scripts/rvm'" の部分をコピペして、自分で実行。


以上でめでたくインストール完了しました。
しかし、Linuxの方が上手くいかないケースっていうのは珍しいな……



2009/9/4追記
rvm 0.0.32 (2009.09.03) なるものがリリースされ、ほとんどの問題が解決されていた。
イムリーすぎる orz
※途中で sed がエラーを出力するようになったが、特に問題はなさそう。