rbenvでrailsの動作環境を構築
rbenvインストール
git clone git://github.com/sstephenson/rbenv.git .rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc
ruby-buildインストール
cd /usr/local/src sudo git clone git://github.com/sstephenson/ruby-build.git cd ruby-build sudo ./install.sh
ruby(今回は1.9.3-p0)をインストールしてデフォルトに指定
rbenv install 1.9.3-p0 rbenv global 1.9.3-p0
Railsで利用するライブラリ郡は各プロジェクト毎にbundlerで管理するようにしたいので
- GEMでbundlerのみをインストール
- bundlerを一旦使ってrailsをインストール
- railsでプロジェクト(example)を作成
- railsをインストールするために使ったbundlerの環境を削除
- example内で必要なライブラリをインストール
という手順を踏む
bundlerインストール
rbenv exec gem install bundler
一旦rails (3.1.1) をインストールしてexampleを作成
cat << EOS > Gemfile source "http://rubygems.org" gem "rails", "3.1.1" EOS bundle install --path vendor/bundle bundle exec rails new example rm -f Gemfile rm -f Gemfile.lock rm -rf .bundle rm -rf vendor/bundle
bundle installする際に--path vendor/bundleすることで本来$GEM_HOMEに入るライブラリがvendor/bundle下に配備される。vendor/bundleに入ったファイルを使ってコマンドを実行したい場合は上記のようにbundle exec 〜のようにすればよい。
後はexample内でインストールを行う際も--path vendor/bundleオプションをつけてbundle installすることでプロジェクト内に閉じた状態でライブラリ郡をインストールすることができる。
exampleでライブラリをインストールしてサーバを起動
cd example bundle install --path vendor/bundle bundle exec rails server
こんな感じ