2011年6月12日日曜日

複数バージョンの ruby を使おう! (rvm のインストールと使用方法)

何で使うん?

ruby や php, python はバージョンが変わると地味に挙動が変化します。
ruby では、 1.8 と 1.9 でライブラリの場所が異なったり、後方互換性がなかったりとイロイロ大変です。

そこで登場したのが rvm です。

rvm を使うと、
「今日は ruby 1.9.2 を使おう!」
「やっぱり ruby 1.8 にしよう・・・」
「ruby enterprise edition もいいかな?」
と言った要望を簡単にかなえることができる様になります。

インストール

正確なインストール方法は install documentation (https://rvm.beginrescueend.com/rvm/install/) にあります。

インストール方法が2通りあり、
自分のアカウントで rvm を使う (シングルユーザー用インストール)
システム全体で rvm を使う (マルチユーザー用インストール)
です。

rvm では、シングルユーザー用インストールが推奨されています
rvm の主な目的としては ruby で何かを開発するために、いろいろなバージョンを試したりするために使用すると予測されます。
シングルユーザー用インストールでは、ホームディレクトリ以下に設定ファイルや gem ディレクトリができ、ユーザー毎に違った設定を行えます。
つまり、他のユーザーの環境へは影響を与えないためにシングルユーザー用のインストールが推奨されているのです。

と、いうわけでシングルユーザー用インストールを見てみましょう。

インストール方法は簡単でシェルで

user$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

を実行するだけです。

インストールドキュメントにも書いてありますが、 https://rvm.beginrescueend.com/install/rvm の中身をきちんと理解しておくことが推奨されています。

当たり前ですが、インターネットから取ってきたシェルスクリプトを実行する前には、中身に軽く目を通しておきましょう。

次に、.bash_profile に rvm へのパスを通します。

user$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

を実行し、

user$ source .bash_profile

で .bash_profile を再読込します。

成功していれば

user$ rvm notes

で、 rvm のノートが表示されるはずです。

簡単な使い方

user$ rvm install 1.9.2

で、ruby 1.9.2 がインストールできます。

user$ rvm use 1.9.2

で、インストールした ruby 1.9.2 が使え、

user$ rvm remove 1.9.2

で、ruby 1.9.2 をアンインストールできます。

user$ rvm list known

で、インストール可能な ruby のバージョンが一覧で表示され、

user$ rvm list

で、インストール済みの ruby のバージョンが一覧で表示されます。

gem とか、ruby 製のツールは?

ruby の各種ツールは ~/.rvm/gems/{バージョン}/bin/ に置かれ、 gem は ~/.rvm/gems/{バージョン}/gems におかれます。

つまり、依存関係とか、バージョンの違いとか、その手の面倒くさくて死にそうな作業から一挙に解放されます。ヒャホーイ

user$ rvm use 1.9.2
user$ rvm use 1.8.7

などで、 ruby のバージョンを切り替えた後、

user$ gem list --local
user$ rake --version
user$ which gem

などを実行してみると、見事にバージョンによって中身が全部切り替わっていることがわかるかと思います。

0 件のコメント:

コメントを投稿