Ruby on Rails 4.0RC2のお試し環境(RVM編)

Rubyの2.0.0-p195のリリースに続いて、Rails 4.0もリリース候補2も出ているようなので、いつものごとくお試し環境を作ってみた。今回はバージョン管理ツールにRVMを使い、インストール作業はUbuntu13.04ローカル環境で行った。

先ずは、次のコマンドでRVMをアップデートしておく。

$ rvm get latest

まだ、RVMを導入していない場合は次のコマンドを実行。

$ sudo apt-get install curl
$ curl -L https://get.rvm.io | bash -s stable --ruby

続いて、Rubyの最新版2.0.0-p195をインストール。

$ rvm install 2.0.0-p195

“ruby -v”コマンドでRubyのバージョンを確認し、最新版に切り替わっていなければ、Rubyの最新のバージョンを切り替えておく。

$ rvm use 2.0.0-p195

続いて、Rails 4.0リリース候補2を、次のコマンドでインストールする。今回は、オプション指定でrdocドキュメントとriドキュメントをインストールしないようにしている。

$ gem install rails -v 4.0.0.rc2 --no-rdoc --no-ri

ここで、確認のために、新しいプロジェクトtestを作成してみる。

$ rails new test

出来上がったtestフォルダ内のGemfileを開いて、19行目あたりにある”# gem ‘therubyracer’, platforms: :ruby”という一行をアンコメント(行頭の#マークを外す)。ファイルを保存して、次の一連のコマンドを実行し、ビルトインサーバーを立ち上げる。

$ cd hoge
$ bundle install
$ rails server

ブラウザからlocal:3000にアクセス。ページ中の”About your application’s environment”リンクをクリックして、次のように表示されていれば、アップグレードはひとまず成功。

Rails4RC2

製作中のプロジェクの移行

例えば、Ruby 2.0.0-p0とRails 4.0RC1の組み合わせで、お試しプロジェクトなおを作っていた場合、Gemfileの内容はおよそ次のようになっている筈だ。

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0.rc1'

# Use sqlite3 as the database for Active Record
gem 'sqlite3'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0.rc1'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'

# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.0.1'

group :doc do
  # bundle exec rake doc:rails generates the API under doc/api.
  gem 'sdoc', require: false
end

この場合、4行目と10行目にあるRailsのバージョン”4.0.0.rc1″を”4.0.0.rc2″に書き換え、、Gemfileの変更を保存。Gemfile.lockファイルをリネーム又は削除し、次のコマンドを実行したら、何とか移行できた。今のところ、問題なく動いているので、正式リリースまではこれでよいかもしれない。

$ bundle install

なお、安定版のRailsの最新版3.2.13などと共存させたいときは、Gemsetを作っておくと管理が楽になる。

$ rvm gemset create rails4rc2

これで今後は、次のコマンドで、RubyとRailsのバージョンの組み合わせを指定できるようになる。

$ rvm use 2.0.0-p195@rails4rc2

最後に、プロジェクトフォルダ内に.ruby-versionファイルをつくり、そこに”2.0.0-p195@rails4rc2″と書き込む。今後は、そのプロジェクトフォルダ内に移動すると、自動的にRuby2.0.0-p195とRails4RC2の組み合わせに切り替わるようになる。

【追 記】
Ruby on Rails 4.0が6月25日に正式リリースされています。上記の投稿中の4.0.0.rc2を4.0.0に置き換えて実行したら、そもまま動きました。なお、Gemfileの28行目のjbuilderについては、1.0.1から1.2への書き換えが必要です。