自分の勉強備忘に

RubyとRailsを中心に勉強中のweb初心者。備忘用に書いてみます。間違いもあると思うので、是非指摘お願いしたいです。

Gemのローカル管理

古いバージョンのRailsを試したかった。
既存の環境を汚さないために、RailsプロジェクトのローカルにRailsとGem(そのプロジェクトで使用するバージョン)をインストールした。
そのやり方のメモ。

1. railsプロジェクトを作成するディレクトリ内に、Gemfileを作成。

# rails4.0.5をインストールする場合
source "http://rubygems.org"
gem "rails", "4.0.5"

2. railsをローカルにインストールする。Ruby環境にインストールしないように、インストール先を指定する。

$ bundle install --path vendor/bundle

3. railsでプロジェクトを作成(今回インストールしたrails 4.0.5を使用)する。

#gemは別途、インストールしたいので、--skip-bundleをつける
$ bundle  exec rails _4.0.5_ new アプリ名 --skip-bundle

railsのコマンドを叩く時は、頭にbundle execをつける必要あり。bundle execをつけることで、Gemfileにて、定義された環境でコマンドを実行することを明示的に指示する。

4. 1.2で作成 & インストールしたものを削除(rails4.0.5はrailsプロジェクト内にインストールし直すので、ここには不要)

$ rm -f Gemfile
$ rm -f Gemfile.lock
$ rm -rf .bundle
$ rm -rf vendor/bundle

5. railsプロジェクトのローカルフォルダにgemをインストール

# railsプロジェクトフォルダに移動
$ cd アプリ名
# gemを'vendor/bundle'配下にインストール
$ bundle install --path vendor/bundle

6. ローカルにインストールしたgemをgitの管理対象から外す

# .gitignore(Railsプロジェクト直下)
/vendor/bundle
と追記。