RVM から rbenv + ruby-build に乗り換えました (on Ubuntu 10.04 Server)

複数の Ruby 環境を管理するために今まで RVM を使っていましたが,rbenv と ruby-build を使う方が便利だよとか Bundler あるのに gemset とかオワコンとか聞いた気がするので乗り換えました.

簡単に概念を説明すると,rbenv で複数の Ruby 環境を管理出来,ruby-build を使うことで自分でいちいち Ruby をビルドする手間が省けるようになる,という感じです.

(2012-03-06 追記) 嘘でした.RVM 同様,自分でビルドはさせられます.なので build-essential や zlib1g-dev パッケージは必要です.

前準備 (curl も必要でした)

sudo aptitude install git-core curl

もしかすると,以下も必要かも?必要です.zlib1g-dev がまず必要であり,rails 使おうとするなら libreadline-dev (無いと rails c 出来ない) や libssl-dev (無いとブラウザからアクセスしたときエラー出る) も必要です.後から依存するパッケージをインストールした場合は rbenv install 1.9.2-p290 等でリビルドする必要がある…かと.

sudo aptitude install libreadline-dev libssl-dev zlib1g-dev

さて…

RVM、お許しください!

rvm seppuku

なおこのとき,自分で作った随所の .rvmrc ファイルは自動的に消えないので手動で消してねって警告が出ました.別にあっても困りませんので見つけたら消していけばいいかと.あと,.zshrc とか .bash_profile とかその辺に残っている

[[ -s "/home/ka/.rvm/scripts/rvm" ]] && source "/home/ka/.rvm/scripts/rvm"

も消しておきましょう.

ここから rbenv + ruby-build の準備 + 構築です.基本的に GitHub の解説通りにコマンド打っていけば OK です.

sstephenson/rbenv - GitHub
sstephenson/ruby-build - GitHub

このエントリは,GitHub に書いてある解説を見て試した一人の人間の単なる結果です.いずれ古くなるでしょうし,英語読むのしんどいからちょっと参考に… 程度にお使い下さい.

cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv
echo 'eval "$(rbenv init -)"' >> ~/.zshenv
exec $SHELL
mkdir -p .rbenv/plugins
cd .rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git

後はインストールしたい Ruby を以下のようにインストール.自分でビルドしないとは言えファイルの展開には結構時間掛かる.

rbenv install 1.9.3-p125
rbenv install 1.9.2-p290
rbenv rehash

デフォルトで使うバージョンを指定するには

rbenv global 1.9.3-p125

どこか特定のディレクトリであるバージョンの Ruby が使いたいなら

cd somewhere
rbenv local 1.9.2-p290

Rails とか Bundler とかインストールしたら

rbenv rehash

結構忘れやすいので注意.

参考

か(@ka_)/2012年02月18日 - Twilog