波打際のブログさん

主に、プログラミング備忘録など。

Bundlerを使ってローカルなRailsから新規プロジェクトを作る

はじめに

 本項では、ローカルなRailsから新規プロジェクトを作成し、gitで管理を行います。グローバルな環境にRailsをインストールしないことで、複数のバージョンのRailsを使い分けしやすくなります。

環境

Bundlerのインストール

 Bundlerとは、RubyGemsのラッパーで、Gemのバージョン管理ツールです。Bundlerを使うことで複数の環境下で依存関係の解決が容易にできます。

# rbenvを使用してBundlerをインストール。
$ rbenv exec gem install bundler
 
# rehashする。
$ rbenv rehash
 
# インストールの確認。
$ rbenv exec bundle --version
Bundler version 1.3.5

Bundlerを使ってローカルなRailsからプロジェクトを作る。

これ以降の手順を自動化するシェルスクリプトを書きました。詳細は バージョンを指定したRailsプロジェクトを自動で生成する。 - 波打際のブログさん を参照してください。


 Bundlerを使ってローカルにRailsをインストールし、ローカルなrailsからプロジェクトを生成します。

プロジェクトを生成したいディレクトリにGemfileを生成する。

$ bundle init

Gemfileの編集

 initすると、カレントディレクトリにGemfileが生成されるので、それを編集してGemfileの依存関係にRailsを追加します。

$ echo 'gem "rails", "4.0.0"' >> Gemfile

Bundlerを利用してローカルにRailsをインストール

 bundle installコマンドで、Gemfileの依存関係が解決されるのでRailsがインストールされます。

$ bundle install --path vendor/bundle

Railsプロジェクトを生成する。

 インストールされたRailsを利用して、Railsのプロジェクトを生成します。下記コマンドを実行するとカレントディレクトリの下に Nyaruko プロジェクトが生成されます。

$ bundle exec rails new Nyaruko --skip-bundle

 この時に --skip-bundle を指定しないとグローバルな環境が汚染されます。

不要なファイルの削除

 ローカルなRailsはもう使用しないので削除します。

rm -f Gemfile*
rm -rf .bundle
rm -rf vendor

 以上でローカルなRailsから新規Railsプロジェクトの生成が完了しました。

Railsプロジェクトをgitで管理できるようにする。

 生成したRailsプロジェクトをgitで管理できるようにします。

gitリポジトリ化する

 まずは、プロジェクトをgitリポジトリ化します。

Nyaruko $ git init
Nyaruko $ git add .
Nyaruko $ git commit

依存関係の解決

 生成されたRailsプロジェクトを使用可能にするために、bundle installを実行して、依存関係を解決します。

Nyaruko $ bundle install --path vendor/bundle

.gitignoreの設定

 依存関係の解決のために生成されたファイル類は、gitにpushすべきものではないので、無視するように.gitignoreを修正します。

Nyaruko $ echo '/vendor/bundle' >> .gitignore

 後はaddしてcommitすれば、gitで管理されたRailsプロジェクトの生成が完了です。

Railsの起動

 同梱されているWEBRickRailsを起動します。

Nyaruko $ bundle exec rails server

起動できなかったときは、Gemfile中の

gem 'therubyracer', :platforms => :ruby

をコメントアウトしてもう一回 bundle installを実行すると動くかも。。