RVMを使って複数のRubyを切り替えて使える環境を構築する
概要
VM上のLinuxにRVM(Ruby Version Manager)をインストールし、Ruby 1.8.7と1.9.1を切り替えて使えるようにするまでの作業メモ。
環境
ホスト
- Windows 7 Enterprise (64bit)
- Oracle VM VirtualBox 3.2.4 r62647
ゲスト
% cat /etc/redhat-release
CentOS release 5.4 (Final)
% uname -a
Linux {host-name} 2.6.18-164.2.1.el5 #1 SMP Wed Sep 30 12:55:19 EDT 2009 i686 i686 i386 GNU/Linux
インストール
RVM
もともとRuby 1.8.7はインストール済みだったのでgemを使った。
% sudo gem install rvm
% rvm-install
.zshrcに以下を追記。
if [[ -s $HOME/.rvm/scripts/rvm ]] ; then source $HOME/.rvm/scripts/rvm ; fi
Ruby
% rvm list known
# MRI Rubies
(ruby-)1.8.6(-p399)
(ruby-)1.8.6-head
(ruby-)1.8.7(-p174)
(ruby-)1.8.7-head
(ruby-)1.9.1(-p243)
(ruby-)1.9.1(-p376)
(ruby-)1.9.1-head
(ruby-)1.9.2-preview1
(ruby-)1.9.2-preview3
(ruby-)1.9.2-head
ruby-head
# (以下略 : JRuby, Rubiniusなどが並ぶ)
1.8.7は安定版として提供されているものとpatch levelが違うので、明示的に指定してインストールする。
% rvm install 1.9.1
% rvm install 1.8.7-p249
Rubyの切り替え
使いたいRubyをrvmコマンドで切り替えることができる。
% rvm 1.9.1
% rvm 1.8.7-p249
普段使うRubyはどれか、デフォルトを設定しておく。
% rvm 1.9.1 --default
まとめと課題
こんな簡単にできるとは…というのが正直な感想。うまく活用して「1.8.7で新しくコードを書くことはないでしょうから」という世界の実現を目指そう。
なお、調子に乗ってcygwin環境にも導入してみた。そこそこうまくいったのだが、1.8.7-p249のビルドに失敗している。本題にはあまり関係ないので追及はまたいずれ。