こんにちは、鈴木です。
Rails4 のベータ版、Rails 4.0.0.beta を試してみようと思います。
同じマシンに Rails3 がインストールされていても影響が出ないように気を付けながら作業します。
Rails 4.0.0.beta のインストール
まずはプロジェクト用のディレクトリを作成します。
1 2 3 4 5 |
# プロジェクト用のディレクトリを作成する. mkdir hello-rails4 # 作成したディレクトリに移動する. cd hello-rails4 |
次に Gemfile を作成し、以下の内容を記述します。
1 2 |
source 'https://rubygems.org' gem 'rails', github: 'rails', branch: 'master' |
bundler を用いてインストールします。
1 2 |
# --binstubs を指定する場合は「bundle install 時に --binstubs を指定する場合の注意」を参照ください. bundle install --path vendor/bundle |
Rails 4.0.0.beta のインストールが完了したので、動作確認をしてみましょう。
1 2 |
> bundle exec rails -v Rails 4.0.0.beta |
「Rails 4.0.0.beta」と出力されているので、インストールは完了です。
bundle install 時に --binstubs を指定する場合の注意
bundle install 時に --binstubs オプションを指定する場合は、デフォルトの bin 以外のパスを指定しましょう。
例えば .bundle/binstubs を指定する場合は、以下のようにします。
1 |
bundle install --path vendor/bundle --binstubs .bundle/binstubs |
Rails3 における script/rails の場所が Rails4 では bin/rails に変更されています。
--binstubs でパスを指定しない場合(デフォルトの bin の場合)は、
- bundler がインストールする rails コマンド(rails new するときの rails コマンド)
- プロジェクトを起動するための rails スクリプト(Rails3 での script/rails)
の保存場所が同じパスとなってしまい、「rails server」などが実行できなくなってしまいます。
※「--binstubs」をご存じない方は「めんどくさい bundle exec を省略する方法」を参照ください。
プロジェクトの作成
それでは Rails4 プロジェクトを作成しましょう。
hello-rails4 ディレクトリにいるものとして、以下のコマンドを実行します。
1 |
bundle exec rails new . --edge --force |
--force を指定している理由は、Rails 4.0.0.beta インストール時に作成されたファイルの上書き確認をスキップするためです(Gemfile などが上書きされます)。
プロジェクトの作成が終わったら、サーバを起動しましょう。
1 |
bundle exec rails server |
ブラウザで http://localhost:3000 にアクセスしましょう。
見慣れたいつもの画面が表示されました。
Rails 4.0.0.beta で Hello World 完了です。
まとめ
まだベータ版なので未確定の内容ですが、リリースノート (Ruby on Rails 4.0 Release Notes) を確認しました。
ハイライトには次のように書かれていました(括弧内は補足です)。
- Ruby 1.9.3 only (Ruby 1.9.3 以降をサポート)
- Strong Parameters (https://github.com/rails/strong_parameters が Rails コアに組み込まれた)
- Turbolinks (https://github.com/rails/turbolinks)
- Russian Doll Caching (https://github.com/rails/cache_digests)
- Asynchronous Mailers (非同期メール送信)
他にも新機能や変更点、非推奨となった機能など多数あるようです。
個別の機能については別エントリで扱いたいと思います。