RVMで複数バージョンのRuby&Rails3の環境を構築する
こんばんは!
今日は、Macに複数のバージョンのRuby(1.8.7と1.9.2)をインストールしました。
ついでに、1.9.2にはRails3の環境を構築したので、今更感が満載ですが、自分の理解を
深める意味も含めて、手順をまとめました。
目次
- RVMのインストール
- 複数バージョンのRubyインストール
- Rails3のインストール
RVMのインストール
複数のバージョンのRubyが利用出来る環境を構築するためにRVMを利用します。
RVMは、Ruby Version Manager の略です。
RVMをインストールするにあたりgitが必要です。
インストールしてない場合は、macports や以下のサイトを参考にインストールしてください。
準備ができましたら、Terminalより以下のコマンドを実行しRVMをインストールします。
$ sudo gem install rvm $ bash < <(curl -s -B https://rvm.beginrescueend.com/install/rvm) $ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
Rubyのインストール
.bash_profileに追記した内容を読み込む必要がありますので、以下コマンドを実行します。(Terminal再起動でもOK)
$ source .bash_profile
Ruby 1.8.7のインストール
$ rvm install 1.8.7 $ rvm use 1.8.7 $ ruby -v ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10.8.0]
Ruby1.9.2のインストール
$ rvm install 1.9.2 $ rvm use 1.9.2 --default $ ruby -v ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.8.0]
2行目の「--default」は、1.9.2をデフォルトとして利用するためのオプションです。
これで、複数バージョンのRubyがインストールされました。
以下のコマンドにてインストールされている事を確認できます。
$ rvm list ruby-1.8.7-p334 [ x86_64 ] => ruby-1.9.2-p180 [ x86_64 ]
その他のRVMコマンド
システムデフォルトの状態に戻す場合のコマンドです。$ rvm reset $ ruby -v ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]defaultに切り替える場合のコマンドです。
$ rvm use default $ ruby -v ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.8.0]
Rails3のインストール
Rails3をインストールするためのgemset(rails-3.0.9)を作ります。
合わせて、これをデフォルトに指定します。
gemset生成
rails-3.0.9はgemsetの名前で、自由に付けることができますが、後から何かわかるように
バージョン等にしておいた方がよいです。
$ rvm gemset create rails-3.0.9 $ rvm use ruby-1.9.2@rails-3.0.9 --default $ rvm gemset list gemsets for ruby-1.9.2-p180 global => rails-3.0.9
Rails3のインストール
続いて、Rails3のイントールです。$ sudo gem install rails --no-ri --no-rdoc gem install rails --no-ri --no-rdoc Fetching: activesupport-3.0.9.gem (100%) Fetching: builder-2.1.2.gem (100%) Fetching: i18n-0.5.0.gem (100%) Fetching: activemodel-3.0.9.gem (100%) Fetching: rack-1.2.3.gem (100%) Fetching: rack-test-0.5.7.gem (100%) Fetching: rack-mount-0.6.14.gem (100%) Fetching: tzinfo-0.3.28.gem (100%) Fetching: abstract-1.0.0.gem (100%) Fetching: erubis-2.6.6.gem (100%) Fetching: actionpack-3.0.9.gem (100%) Fetching: arel-2.0.10.gem (100%) Fetching: activerecord-3.0.9.gem (100%) Fetching: activeresource-3.0.9.gem (100%) Fetching: mime-types-1.16.gem (100%) Fetching: polyglot-0.3.1.gem (100%) Fetching: treetop-1.4.9.gem (100%) Fetching: mail-2.2.19.gem (100%) Fetching: actionmailer-3.0.9.gem (100%) Fetching: thor-0.14.6.gem (100%) Fetching: rdoc-3.6.1.gem (100%) Fetching: railties-3.0.9.gem (100%) Fetching: bundler-1.0.15.gem (100%) Fetching: rails-3.0.9.gem (100%) Successfully installed activesupport-3.0.9 Successfully installed builder-2.1.2 Successfully installed i18n-0.5.0 Successfully installed activemodel-3.0.9 Successfully installed rack-1.2.3 Successfully installed rack-test-0.5.7 Successfully installed rack-mount-0.6.14 Successfully installed tzinfo-0.3.28 Successfully installed abstract-1.0.0 Successfully installed erubis-2.6.6 Successfully installed actionpack-3.0.9 Successfully installed arel-2.0.10 Successfully installed activerecord-3.0.9 Successfully installed activeresource-3.0.9 Successfully installed mime-types-1.16 Successfully installed polyglot-0.3.1 Successfully installed treetop-1.4.9 Successfully installed mail-2.2.19 Successfully installed actionmailer-3.0.9 Successfully installed thor-0.14.6 Successfully installed rdoc-3.6.1 Successfully installed railties-3.0.9 Successfully installed bundler-1.0.15 Successfully installed rails-3.0.9 24 gems installedということで、めでたく環境が整いましてございます。
$ rails -v Rails 3.0.9
gemsetの削除
不要になったgemsetやインストールに失敗してしまった場合などは、
以下のコマンドにてgemsetを削除することができます。(rails-3.0.9はgemset名です)
rvm gemset delete rails-3.0.9
RubyとかRailsって、バージョンが少し上がるだけで動かないので、
バージョン管理ができるRVMとgemsetって便利だなと心から思いました。
【追記2011/6/28(おまけ)】Rails3.1のインストール
Rails3.1のリリース候補が出ているとのことでしたので、インストールしてみました。
インストール用のgemsetを作って、、、
$ rvm gemset create rails-3.1.0 $ rvm use ruby-1.9.2@rails-3.1.0 $ rvm gemset list gemsets for ruby-1.9.2-p180 global rails-3.0.9 => rails-3.1.0いんすとーる!
$ gem install rails --pre --no-ri --no-rdoc gem install rails --pre --no-ri --no-rdoc Fetching: multi_json-1.0.3.gem (100%) Fetching: activesupport-3.1.0.rc4.gem (100%) Fetching: builder-3.0.0.gem (100%) Fetching: i18n-0.6.0.gem (100%) Fetching: bcrypt-ruby-2.1.4.gem (100%) Building native extensions. This could take a while... Fetching: activemodel-3.1.0.rc4.gem (100%) Fetching: rack-1.3.0.gem (100%) Fetching: rack-cache-1.0.2.gem (100%) Fetching: rack-test-0.6.0.gem (100%) Fetching: rack-mount-0.8.1.gem (100%) Fetching: hike-1.1.0.gem (100%) Fetching: tilt-1.3.2.gem (100%) Fetching: sprockets-2.0.0.beta.10.gem (100%) Fetching: tzinfo-0.3.29.gem (100%) Fetching: erubis-2.7.0.gem (100%) Fetching: actionpack-3.1.0.rc4.gem (100%) Fetching: arel-2.1.3.gem (100%) Fetching: activerecord-3.1.0.rc4.gem (100%) Fetching: activeresource-3.1.0.rc4.gem (100%) Fetching: mime-types-1.16.gem (100%) Fetching: polyglot-0.3.1.gem (100%) Fetching: treetop-1.4.9.gem (100%) Fetching: mail-2.3.0.gem (100%) Fetching: actionmailer-3.1.0.rc4.gem (100%) Fetching: thor-0.14.6.gem (100%) Fetching: rack-ssl-1.3.2.gem (100%) Fetching: rdoc-3.7.gem (100%) Fetching: railties-3.1.0.rc4.gem (100%) Fetching: bundler-1.0.15.gem (100%) Fetching: rails-3.1.0.rc4.gem (100%) Successfully installed multi_json-1.0.3 Successfully installed activesupport-3.1.0.rc4 Successfully installed builder-3.0.0 Successfully installed i18n-0.6.0 Successfully installed bcrypt-ruby-2.1.4 Successfully installed activemodel-3.1.0.rc4 Successfully installed rack-1.3.0 Successfully installed rack-cache-1.0.2 Successfully installed rack-test-0.6.0 Successfully installed rack-mount-0.8.1 Successfully installed hike-1.1.0 Successfully installed tilt-1.3.2 Successfully installed sprockets-2.0.0.beta.10 Successfully installed tzinfo-0.3.29 Successfully installed erubis-2.7.0 Successfully installed actionpack-3.1.0.rc4 Successfully installed arel-2.1.3 Successfully installed activerecord-3.1.0.rc4 Successfully installed activeresource-3.1.0.rc4 Successfully installed mime-types-1.16 Successfully installed polyglot-0.3.1 Successfully installed treetop-1.4.9 Successfully installed mail-2.3.0 Successfully installed actionmailer-3.1.0.rc4 Successfully installed thor-0.14.6 Successfully installed rack-ssl-1.3.2 Successfully installed rdoc-3.7 Successfully installed railties-3.1.0.rc4 Successfully installed bundler-1.0.15 Successfully installed rails-3.1.0.rc4 30 gems installed確認!!
$ rails -v Rails 3.1.0.rc4ばっちり!