Ruby 2.0が正式リリースされ、Rails 4.0も、ベータ1が公開されました。そこで、Ubuntu 12.10のローカル環境に、Ruby 2.0とRails 4.0b1のお試し環境を構築してみました。
Rubyの複数バージョン管理ツールRVMをインストール
Railsの安定版3.2とベータ版の4.0を共存させるために、Rubyの複数バージョン管理ツールRVM (Ruby Version Manager) のGemset(Rubyのバージョン毎にGemを一緒に切り替えてくれる機能)を利用します。
先ず、Curlコマンドを使ってRVMをインストールします。
curl -L https://get.rvm.io | bash -s stable --ruby
デフォルトでは、Rubyの最新版2.0がインストールされます。続いて、安定版のRails3.2に必要なRubyのバージョン1.9.3を次の要領で追加します。
rvm install 1.9.3
次のコマンドを実行すると、複数のRubyバージョンがインストールされたことが確認できます。
rvm list
実行結果は次のとおり。Rubyのバージョンに2.0.0-p0がセットされていて、デフォルトも2.0.0-p0となっていることが分かります。
Rubyのバージョンを1.9.3-p392に切り替えたい場合には、次のコマンドを実行。最後のdefaultオプションをつけなければ、現在のバージョンの切り替えのみ(デフォルトは2.0.0-p0のまま)行えます。
rvm use 1.9.3 --default
Gemsetを使ってRails 3.2と4.0b1をインストール
ここからは、RVMのGemset機能を使い、安定版のRails 3.2と4.0のベータ版を切り替えて使うための環境を構築します。
先ずは、次のコマンドで、Rails 3.2用のGemsetを作成します。
rvm gemset create rails32
上記で作成したGemsetを指定して、Rubyのバージョンを1.9.3に切り替えます。
rvm use 1.9.3@rails32
続いて、Railsのバージョンを指定してインストールします。
gem install rails -v 3.2.12
さらに、Rails 4.0b1用のGemsetの作成とRubyのバージョンの切り替えを同時に行います。
rvm use 2.0.0@rails4b1 --create
最後に、Rails 4.0b1をインストール。ここではrdocドキュメントとriドキュメントをインストールしないようオプション指定していますが、これらのドキュメントが必要な方は、この2つのオプションを外してください。
gem install rails -v 4.0.0.beta1 --no-rdoc --no-ri
以上で、Rails 3.2と4.0b1を切り替えて使える環境が構築されました。
今後、Rails 3.2を使いたいときは、次のコマンドを実行します。
rvm 1.9.3@rails32
Rails 4.0b1を使いたいときは、次のコマンドです。
rvm 2.0.0@rails4b1
なお、rails newコマンドで作成したプロジェクト内に.ruby-versionファイルを置き、そこにRubyのバージョンとGemsetを記述しておけば、そのフォルダ内に入ると、自動的でRailsのバージョンが切り替わるうようになります。
例えば、Rails 3.2であれば、1.9.3-p392@rails32、Rails 4.0b1であれば、2.0.0-p0@rails4b1といった具合です。
Ubuntu 12.10の場合の端末の設定
今回は、Ubuntu 12.10ローカル環境にRVMをインストールしましたが、一連の作業が終わって、PCを再起動した後、再び端末でrvmコマンドでRubyのバージョンを切り替えようとすると、次のようなメッセージが発せられて、コマンドが実行できない場合があります。
この場合は、端末の編集メニューからプロファイルの設定を選び、「タイトルとコマンド」タブ内の「ログインシェルとしてコマンドを実行する」にチェックを入れると問題は解決します。