Rails4.1で追加された”Action Pack Variants"が使いたかったのでやってみました。
Ruby on Rails 4.1 Release Notes #2(Rails4.1の主な機能)
事前準備
rbenvでRubyをインストールしている前提です。
Railsアプリケーションの現行のバージョンを確認
$rake about
About your application's environment
Ruby version 2.0.0 (x86_64-darwin13.3.0)
RubyGems version 2.4.1
Rack version 1.5
Rails version 4.0.4
JavaScript Runtime therubyracer (V8)
~(省略)~
Rubyのバージョン
$ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-darwin13.3.0]
Ruby2.1をインストールする
rbenvで管理されているRubyのバージョンを確認します。
$ rbenv versions
system
* 2.0.0-p481 (set by /Users/yuto-ogi/.rbenv/version)
2.1.2
上記例では、2.0.0、2.1.2の2バージョンがrbenvによってインストールされており、
2.0がデフォルトで使用されるバージョンとして選択されている状態です。
(systemはMacOSにデフォルトでインストールされているバージョンですが、rbenvインストール後はほとんど使わないのでシカトでいいと思います)
2.1がインストールされていない場合はインストールします。
インストール可能なバージョンを一覧表示します。
rbenv install -list
Available versions:
~
2.0.0-rc1
2.0.0-rc2
2.1.0
2.1.0-dev
2.1.0-preview1
2.1.0-preview2
2.1.0-rc1
2.1.1
2.1.2
~
2.1.2をインストールします。
rbenv install 2.1.2
RailsアプリケーションのディレクトリのRubyバージョンを変更する
Railsアプリケーションのディレクトリに居る場合は、2.1.2を使用するように設定してみます。
まずはRailsアプリケーションのルートディレクトリに移動します。
cd {Railsアプリケーションの場所}
移動後下記のコマンドを実行します。
rbenv local 2.1.2
実行すると、.ruby-versionというファイルが作成されます。
中身を見ると、
cat .ruby-version
2.1.2
このファイルのあるディレクトリでは、ファイルに書かれたRubyのバージョンが使用されます。
# local in ~/Work/rails_app on git:rails4.1 x [16:02:56]
$ cd ../
# local in ~/Work [16:02:58]
$ ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-darwin13.3.0]
# local in ~/Work [16:03:01]
$ cd rails_app
# local in ~/Work/rails_app on git:rails4.1 x [16:03:09]
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
システム全体のRubyバージョンを変更する場合は、
rbenv glocal {Rubyバージョン}
Railsのバージョンを変更する
いよいよRailsアプリケーションのバージョンを変更するときがきました・・・!
ruby "2.0.0"
gem 'rails', '4.0.4'
↓
ruby "2.1.2"
gem 'rails', '4.1'
上記のように書き換えて、
bundle update
インストールが終わったらRailsのバージョンを確認してみます。
$rails -v
Rails 4.1.0
$ rake about
About your application's environment
Ruby version 2.1.2-p95 (x86_64-darwin13.0)
RubyGems version 2.2.2
Rack version 1.5
Rails version 4.1.0
JavaScript Runtime therubyracer (V8)
Active Record version 4.1.0
Action Pack version 4.1.0
Action View version 4.1.0
Action Mailer version 4.1.0
Active Support version 4.1.0
~(省略)~
OK!