[Ruby] rbenv-default-gems, Bundler をインストールする
調べたところでは、このように管理をするようです。
 
[markdown]
* グローバルにインストールするgemは、gemコマンド。
 * 各プロジェクト毎のgemは、bundlerで管理する
rbenv-gemset というのも同じようなパッケージ管理を担うものかな?
## rbenv-default-gems
rbenv installした際に一緒にインストールしたいgemを管理出来るソフトウェア。
 グローバルにインストールしているgemは、rbenv installするたびに、gem install し直さねば行けないよう。
 rbenv-default-gems で設定しておけば、自動化できるようです。
> * [rbenv install直後に捗る方法 – Qiita [キータ]](http://qiita.com/chiastolite/items/2e2405056d338ebb0028)
 > * [Ruby事始め](https://gist.github.com/jpshadowapps/5793897)
 > * [OSX で rbenv を使って ruby 1.9.3-p392 インストール – Under Construction Always!](http://blog.d6rkaiz.com/archives/2013/02/23/install-ruby-1-dot-9-3-p392-with-rbenv-on-osx/)
“`
 % brew install rbenv-default-gems
 ==> Downloading https://github.com/sstephenson/rbenv-default-gems/archive/v1.0.0
 ######################################################################## 100.0%
 /usr/local/Cellar/rbenv-default-gems/1.0.0: 4 files, 16K, built in 5 seconds
 “`
設定ファイルを作成します。
“`
 % vim ~/.rbenv/default-gems
 “`
例えばこんな感じでしょうか?
“`ruby:~/.rbenv/default-gems
 bundler
 compass
 haml
 pry
 sass
 “`
“`
 % gem list
 *** LOCAL GEMS ***
 bigdecimal (1.2.0)
 bundler (1.3.5)
 io-console (0.4.2)
 json (1.7.7)
 minitest (4.3.2)
 psych (2.0.0)
 rake (10.1.0, 0.9.6)
 rdoc (4.0.0)
 test-unit (2.0.0.0)
 “`
設定内容通りgemがインストールされるか試してみます。
“`
 % rbenv install 2.0.0-p247
 rbenv: /Users/***/.rbenv/versions/2.0.0-p247 already exists
 continue with installation? (y/N) y
 Downloading ruby-2.0.0-p247.tar.gz…
 -> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
 Installing ruby-2.0.0-p247…
 Installed ruby-2.0.0-p247 to /Users/***/.rbenv/versions/2.0.0-p247
 Successfully installed bundler-1.3.5
 Parsing documentation for bundler-1.3.5
 1 gem installed
 Fetching: sass-3.2.9.gem (100%)
 Successfully installed sass-3.2.9
 :
 :
 4 gems installed
 Successfully installed sass-3.2.9
 Parsing documentation for sass-3.2.9
 1 gem installed
 “`
“`
 % gem list
 *** LOCAL GEMS ***
 bigdecimal (1.2.0)
 bundler (1.3.5)
 chunky_png (1.2.8)
 coderay (1.0.9)
 compass (0.12.2)
 fssm (0.2.10)
 haml (4.0.3)
 io-console (0.4.2)
 json (1.7.7)
 method_source (0.8.1)
 minitest (4.3.2)
 pry (0.9.12.2)
 psych (2.0.0)
 rake (10.1.0, 0.9.6)
 rdoc (4.0.0)
 sass (3.2.9)
 slop (3.4.5)
 test-unit (2.0.0.0)
 tilt (1.4.1)
 “`
依存関係があると思われるgemも含め、インストールされたようです。
 その他、以下が参考になりました。
> [Rails開発環境の構築(rbenvでRuby導入からBundler、Rails導入まで) – Qiita [キータ]](http://qiita.com/emadurandal/items/a60886152a4c99ce1017)
 >
 > * gemのインストール先の判断(Ruby環境下 or bundlerでのローカルインストール)について
 > * 間違えてRuby環境の方にいろんなGemが入ってしまった場合の対処
 > * 不要になったバージョンのRuby環境を削除する
 > * rbenvで、1.9.3-p125より古いrubyをビルド・インストールする
## Bundler インストール
RubyGemsの依存関係管理ソフトウェア。
“`
 % gem install bundler
 Fetching: bundler-1.3.5.gem (100%)
 Successfully installed bundler-1.3.5
 Parsing documentation for bundler-1.3.5
 Installing ri documentation for bundler-1.3.5
 1 gem installed
 “`
Bundler の使い方については、後で試しますが、簡単にまとめると下記のようです。
1. プロジェクトディレクトリを作成、移動
 2. bundle init を実行
 3. 生成された Gemfile を編集し、利用するgemを記載する
 4. bundle install
> * [Rails – Bundlerを使ったRubyGemsの依存関係管理 – Qiita [キータ]](http://qiita.com/sumyapp/items/6843ceebbbfc09a2b6ac)
 > * [[ruby] Bundler4つの便利な使い方(初期化、インストール、省略する設定など) » アプレンティス プラクティス](http://blog.takapra.com/index.php/2013/04/21/ruby-bundler-basic/)
 > * [橋本商会 » Ruby書くならBundler使え](http://shokai.org/blog/archives/7262)
## 一時的にバージョンを変更して確認する
“`
 % rbenv exec gem list
 *** LOCAL GEMS ***
 bigdecimal (1.2.0)
 bundler (1.3.5)
 chunky_png (1.2.8)
 coderay (1.0.9)
 compass (0.12.2)
 fssm (0.2.10)
 haml (4.0.3)
 io-console (0.4.2)
 json (1.7.7)
 method_source (0.8.1)
 minitest (4.3.2)
 pry (0.9.12.2)
 psych (2.0.0)
 rake (10.1.0, 0.9.6)
 rdoc (4.0.0)
 sass (3.2.9)
 slop (3.4.5)
 test-unit (2.0.0.0)
 tilt (1.4.1)
 % rbenv shell 1.9.3-p448
 % ruby -v
 ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.4.0]
 % rbenv exec gem list
 *** LOCAL GEMS ***
 bigdecimal (1.1.0)
 io-console (0.3)
 json (1.5.5)
 minitest (2.5.1)
 rake (0.9.2.2)
 rdoc (3.9.5)
 % rbenv shell –unset
 % ruby -v
 ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]
 “`
## Gemfile のバージョン指定方法
“`
 gem ‘rails’       # 最新バージョン
 gem ‘rails’, ‘3.1.12’     # 3.1.12
 gem ‘rails’, ‘>= 3.1.12’    # 3.1.12 以上
 gem ‘rails’, ‘~> 3.1.12’    # 3.1.12 以上、3.2 未満
 “`
[/markdown]
