Help us understand the problem. What is going on with this article?

Rails 4のベータ版をシンプルにインストールする

More than 5 years have passed since last update.

概要

近々正式公開されるRails 4をデフォルト状態でセットアップしてみます。

要件

Rails 4のインストールを始める前に、以下のものをインストールしておきましょう。これらのインストール手順については割愛します。

  • rubyのビルドに必要なパッケージ
  • ruby 1.9.3
  • bundler
  • rubygems

2.0.0-rc2でこの後の作業を実行したところ、bundlerのバージョンを上げろという面倒な指示が出てきたので、現状では1.9.3の一択だと思っています。基本的にはrvmで1.9.3をインストールすれば、全て条件は揃っています。

手順

Gemfileの生成

アプリケーション・フォルダを作成します。この時のフォルダ名は、自動的にアプリケーション名になるので、意味のある名前をつけてください。次にbundlerを使ってGemfileのスケルトンを生成します。とは言え、gemリポジトリがrubygems.orgに指定されているだけです。

$ mkdir myapp && cd myapp
$ bundle init

BundlerによるGemのインストール

Rails 4をアプリケーション・ローカルにインストールしてみます。ほとんどのgemパッケージはこれだけでインストールされますが、いくつかは後でインストールすることになります。

$ echo 'gem "rails", github: "rails/rails"' >> Gemfile
$ bundle install --path vendor/bundle

Railsアプリケーションの作成

bundleからrailsコマンドが使えるようになっています。これによってアプリケーションの雛形を生成することができます。

$ bundle exec rails new .

上記のコマンドを実行すると、RailsデフォルトのGemfileで現状のGemfileを上書きするか?と訊かれるので上書きを選択します。何も入力しないでRETURNキーを押すだけです。

しかし、生成プログラムの最後に実行されるbundle installで失敗します。これはsass-railsとcoffee-railsの対応するバージョンがrubygems.orgのリポジトリに無いためです。Gemfile中の下記Aの記述をBのように修正します。

A

gem 'sass-rails',   '~> 4.0.0.beta'
gem 'coffee-rails', '~> 4.0.0.beta'

B

gem 'sass-rails',   '~> 4.0.0.beta', github: 'rails/sass-rails'
gem 'coffee-rails', '~> 4.0.0.beta', github: 'rails/coffee-rails'

最後にもう一度gemパッケージのインストールを実行します。

$ bundle install --path vendor/bundle

生成されたアプリケーションの構成

下記のような構成のWebアプリケーションの雛形が生成されます。

$ tree -d -L 3
.
├── app
│   ├── assets
│   │   ├── images
│   │   ├── javascripts
│   │   └── stylesheets
│   ├── controllers
│   │   └── concerns
│   ├── helpers
│   ├── mailers
│   ├── models
│   │   └── concerns
│   └── views
│       └── layouts
├── bin
├── config
│   ├── environments
│   ├── initializers
│   └── locales
├── db
├── lib
│   ├── assets
│   └── tasks
├── log
├── public
├── test
│   ├── controllers
│   ├── fixtures
│   ├── helpers
│   ├── integration
│   ├── mailers
│   └── models
├── tmp
│   ├── cache
│   │   └── assets
│   ├── pids
│   ├── sessions
│   └── sockets
└── vendor
    ├── assets
    │   ├── javascripts
    │   └── stylesheets
    └── bundle
        └── ruby

43 directories

まとめると

そんなこんなで生成されたGemfileをちょこっと編集してgistにアップしてあるので、これを使えば話が早い。railsアプリケーション生成の際にGemfileを上書きしないように気をつけましょう。

mkdir myapp && cd myapp
curl -OL https://gist.github.com/artifactsauce/5019345/raw/9479cf4669d54df4e8982086863a36b2f7deb049/Gemfile
bundle install --path vendor/bundle
bundle exec rails new .
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away