Tech Racho エンジニアの「?」を「!」に。
  • 開発

Rails 4.0を使ってみよう - その1 インストール~herokuで動かす

Rails正式版は現在3.2.5ですが、夏にはRails 4.0がリリースされる予定です。

Ruby 1.8.xのサポート打ち切りが一番大きな変更で、2→3ほどの変化は無いのですが、リリースに備えて予習しておきましょう!
特に、Rails4から非推奨になる書き方などは今のうちに把握しておくと、移行がスムーズになります。

今回はまず、Rails 4をインストールして使ってみるところから。

環境の準備

Ruby 1.9.3が必要なので、まだバージョンが古い人は最新を入れておきましょう。
rvmなら

$ rvm get head
$ rvm reload
$ rvm install 1.9.3
$ rvm use 1.9.3 --default

Railsのclone

最新のRailsをコピーしてきます。2012年6月現在、masterブランチでRails 4.0.0 betaが絶賛開発中。githubアカウントは事前に作っておいてください。

$ git clone git@github.com:rails/rails

プロジェクトの作成

rails newでプロジェクトを生成します。
rails 4がgemになっていなくてbundle installが失敗するので、skipしておきます。

# バージョンの確認
$ rails/railties/bin/rails --version
Rails 4.0.0.beta
$ rails/railties/bin/rails new myapp --skip-bundle

Gemfileの更新

gem化されていないものを、githubから取ってくるように変更します。
また、active_record_deprecated_findersが見つからなくてエラーになるので追加します。

source 'https://rubygems.org'

gem 'rails', '4.0.0.beta'

gem 'sqlite3'

group :assets do
  gem 'sprockets-rails', github: 'rails/sprockets-rails'
  gem 'sass-rails',   '~> 4.0.0.beta'
  gem 'coffee-rails', '~> 4.0.0.beta'

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

変更後

source 'https://rubygems.org'

gem 'rails', '4.0.0.beta', github: 'rails/rails'
gem 'active_record_deprecated_finders', github: 'rails/active_record_deprecated_finders'

gem 'sqlite3'

group :assets do
  gem 'sprockets-rails', github: 'rails/sprockets-rails'
  gem 'sass-rails',   '~> 4.0.0.beta', github: 'rails/sass-rails'
  gem 'coffee-rails', '~> 4.0.0.beta', github: 'rails/coffee-rails'

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

起動

以上で、インストールは完了です。
あとは、Rails 3と同じようにrails sで起動できます。

herokuで動かす

特に難しい設定無しで、herokuで動作させることができます。

# config/environments/production.rb
config/assets.compile = true

# Gemfile
ruby '1.9.3' # ローカルではgem install bundler --preしておく
gem 'pg' # sqlite3は消すかdevelopmentで囲む

$ git push heroku master

注意点は、デフォルトのRuby 1.9.2では動かないため、Gemfileにrubyバージョンを指定することです。
最新のbundlerでないとエラーになるので、手元のbundlerも更新しておきましょう。

それでは、次回からRails 4の変更点や新機能について見てみようと思います。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。