rvmを使う

rvm?

Rubyには、1.8系と1.9系があって、それぞれ使い分けるにはどうるんだろうと思っていたのだけど、職場の人があっさりと教えてくれた。(むしろ、知らなくてすいません。)
rvm(Ruby Version Manager)なるものがあって、それを入れれば簡単に切り替えができるということで早速入れてみた。
便利なのでみなさまにはぜひ最初から使ってほしい・・・。

rvmのインストール

Google先生に聞いてみると、簡単に参考サイトが見つかった。

Rubyを削除する

混乱しないように、いままで使っていたRubyを削除した。

$ sudo apt-get remove --purge ruby ruby1.8 ruby1.9.1 ruby1.9.1-dev rubygems rubygems1.8
curlのインストール
$ sudo apt-get install curl
rvmのインストール

最新のrvmをインストールする場合は、下記のコマンドを実行する。

$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-latest )

※注意※
2011年2月3日以降に上記の手順でrvmをインストールして、ruby1.8.7をインストールすると、gemのバージョンが1.5.0になってしまって、Rails2がうまく動かなくなります。(@sinsoku_listyさん、ごめんなさい)
下記の方法でやれば、rvmが1.2.4になって、rails2も動くはず。

$ mkdir -p ~/.rvm/src/ && cd ~/.rvm/src/ && curl -O http://rvm.beginrescueend.com/releases/rvm-1.2.4.tar.gz | tar zxf - && cd rvm-1.2.4 && ./install
rvmの設定を.zshrcに追加

下記の内容をファイルの末尾に追加して、シェルを再起動する(sourceでもいいかも?)

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
rvmコマンドを確認

下記コマンドを実行すると、rvmの依存パッケージが表示される。

$ rvm notes
依存パッケージのインストール
$ sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev
Rubyのインストール

いよいよRubyのインストールをする。まずは、1.9.2から。コンパイルするので、結構時間がかかった。

$ rvm install 1.9.2

さっそく使ってみる。バージョンが表示されればおk。

$ rvm use 1.9.2
$ ruby -v

次は、1.8.7。

$ rvm install 1.8.7

また使ってみる。バージョンが1.8.7と表示されればおk。

$ rvm use 1.8.7
$ ruby -v
デフォルトで使うRubyを設定する

毎回使用するRubyを設定するのはめんどうなので、デフォルトで使うバージョンを宣言しておく。

$ rvm use 1.9.2 --default
gemを使う

rvmでRubyをインストールすると、gemがすでに入っている。いままで使っていたgemを入れ直す。gemがホームディレクトリ配下に入るので、root権限は必要ありまへん。

$ gem install rails