普通に gem install rails
して rails new newapp
だと gem 環境が汚れるので、bundler を活用して極力少ない手数で開発を始める方法を調べた。
前提条件
- ruby 1.9.3
- bundler
がインストール済み。
手順
新規プロジェクトを作るディレクトリを作成。
% mkdir newapp % cd newapp
bundle init して Gemfile を作成する。
% bundle init Writing new Gemfile to /path/to/current/dir/newapp/Gemfile
Gemfile を編集して gem "rails"
の行のコメントを外す。
% vi Gemfile # A sample Gemfile source "https//rubygems.org" gem "rails" # edit
bundle install して rails をインストールする。path を指定して gem を特定ディレクトリ以下にインストールする。
% bundle install --path vendor/bundle
rails new コマンドでアプリ初期化。ただし、Gemfile を後で修正するのでこの時点では bundle 実行しないようにする。
途中で「Gemfile を上書きしますか?」というメッセージが出るので yes を選択。
% bundle exec rails new . --skip-bundle ... conflict Gemfile Overwrite /Users/yono/Desktop/newapp/Gemfile? (enter "h" for help) [Ynaqdh] Y ...
Gemfile を編集する。最低限必要なのは therubyracer のコメントを外すこと。
% vi Gemfile ... group assets do gem 'sass-rails', '~> 3.2.1' gem 'coffee-rails', '~> 3.2.1' # See https://github.com/sstephenson/execjs#readme for more supported runtimes gem 'therubyracer', :platforms => :ruby # edit gem 'uglifier', '>= 1.0.3' end ...
bundle で必要な gem をインストールする。
% bundle install
これでシステムの gem 環境を汚さず rails アプリの開発を始められる。
git でバージョン管理する場合の注意
rails new で入る .gitignore に gem をインストールしたディレクトリ(今回の場合は vendor/bundle)を追記しておくこと。