RVMでRuby環境の切り替えを簡単に!

Ruby 開発を始める時はまずgem管理ツールを入れておくと便利です。
実行環境やプロダクトに応じ、Ruby本体やgemパッケージの依存するバージョンが異なる事も多々あります。これらのバージョンを管理して切り替えを容易にしてくれるのがRVM(Ruby Version Manager)やBundlerといった管理ツールなのです。
今回はRVMのインストール手順をまとめました。それでは続きをどうぞ。
rvm をインストール
gem install で簡単にインストールできます。
$ sudo gem install rvm $ source ~/.rvm/scripts/rvm $ cat <<_EOF_ ~/.bashrc $ if [ -f ~/.rvm/scripts/rvm ];then source ~/.rvm/scripts/rvm fi _EOF_
(方法2) github から最新版を入れる事もできます。
$ git clone git://github.com/wayneeseguin/rvm.git $ cd rvm/ $ ./install $ source ~/.rvm/scripts/rvm $ cat <<_EOF_ ~/.bashrc $ if [ -f ~/.rvm/scripts/rvm ];then source ~/.rvm/scripts/rvm fi _EOF_
rvmにrubyをインストール
まずはじめに開発に使いたい ruby バージョンを決め、rvm 内にインストールします。システムにインストール済の ruby と同じバージョンで開発する場合も、ここで新規インストールする必要があります。
$ rvm install 1.9.2
rvm にgem管理グループ(gemset)を作成
RVMではRubyバージョン・プロジェクトごとのgemをgemsetという単位で管理します。今回は先程入れたRuby 1.9.3を使いhello_worldというプロジェクトのgemsetを作成してみます。
$ rvm use 1.9.2@hello_world --create Using /Users/foo/.rvm/gems/ruby-1.9.2-p318 with gemset hello_world
これでシステムに依存しないRuby開発環境が構築完了しました。
RVMによるバージョン切り替え方法
rvm useコマンドを実行した後で ruby –version を実行してみると、今までとは別のバージョンのrubyに切り替わっている事が確認できます。ログアウトすると元に戻りますが、今後は rvm use 1.9.3@hello_world とすることでいつでも環境を切り替える事ができるようになります。
## rvm use を使ったバージョン切り替えの例 $ ruby --version ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0] $ rvm use 1.9.3@hello_world Using /Users/foo/.rvm/gems/ruby-1.9.2-p318 with gemset hello_world $ ruby --version ruby 1.9.2p318 (2012-02-14 revision 34678) [x86_64-darwin11.3.0]
rvm use コマンドにより、gemもシステムのものから切り替わり、初期状態になっています(gemsetを指定した場合)。
rails等プロジェクトに必要なgemをここで追加しておきましょう。
$ gem install rails $ gem install bundler thin i18n uglifier sass-rails coffee-rails
※ sudoしていないことに注意。各ユーザの~/.rvm以下でgemを管理するため開発ユーザとしてインストールします。
設定を保存する
次回以降プロジェクトで使っているgemsetを自動で読み込むため、プロジェクトルートに.rvmrcを作成しておきましょう。
$ echo "$ rvm use 1.9.2@hello_world" >> .rvmrc
再ログインすると rvmのパッケージはデフォルトに戻りますが、次にパッケージディレクトリに移動した時に自動でここで指定したrubyバージョン,gemsetに切り替わります。
以上で導入完了です。
複数作成する場合も同様の手順で行えます。
RVMでよく使うコマンド
これで作業は終わりですが、参考としてRVMでよく使うコマンド(アクション)をまとめて紹介しておきます。
-
rvm current
rvm current
現在選択中のRubyバージョン,gemsetを表示します。
rvm list
rvm list
現在RVMにインストールされているrubyバージョン一覧を表示します。
選択中のrubyバージョンには印がついて表示されます。
rvm gemset list
rvm gemset list
現在RVMにインストールされているgemset一覧を表示します。
選択中のgemsetには印がついて表示されます。
rvm install
rvm install "Rubyバージョン"
RVM内にRuby本体バージョンを新たにインストールします。
rvm use
rvm use "Rubyバージョン"[@"gemset名"] [--create]
使用するRuby本体バージョンとgemsetを切り替えます。
gemsetを省略した場合はRuby本体バージョンのみ切り替えます。
–createオプションをつけると、gemsetとRuby本体バージョンの組み合わせが存在しなかった場合にgemset作成を行います。指定したRuby本体バージョンが存在しない場合はエラーになります。
rvm gemset use
rvm gemset use "gemset名"
使用するgemsetを切り替えます。
rvm remove
rvm remove "Rubyバージョン"[@"gemset名"]
指定したRubyバージョンの本体,gemsetをRVM内から削除します。
gemsetを省略した場合は指定したRuby本体のみ削除します。
rvm gemset delete
rvm gemset delete "gemset名"
指定したgemsetをRVM内から削除します。
rvm help
rvm help
RVMアクションのヘルプを表示します。
rvm gemset help
rvm gemset help
RVMのgemset用アクションのヘルプを表示します。

コメントはまだありません。