以前はシステムで共通的に利用されるgem(要root権限)を使ったり、自分のアカウント用にrubygemsをインストールして使ったりと不便でした。
(rvmのgemsetで管理とか話は聞きましたが、大変そうだったのでスルーしました)
ここでbundler (http://gembundler.com/) の登場。
bundlerを使えばプロジェクト毎にgemを管理できるように。これでモヤモヤしてた気持ちがスッキリ。
目的:
bundlerを使ってプロジェクト毎にgemを管理する感じにしたい。
対象:
プロジェクト毎にディレクトリ作って、そこにファイルをまとめたいruby使い向け。
(ただし、railsとかtemplateを作ってくれるコマンドがある場合はそっちを使う方がいいはず)
環境:
ruby-1.9.3p392, bundler 1.3.5
こんな風にするといいぽいと思った事を書いてみます。
準備
1. とにかくbundlerのgemをインストール$ gem install bundler
最初の手順
1. プロジェクトのディレクトリを作ってそこに移動
$ mkdir ${project_name} $ cd ${project_name}
2. bundlerの初期化
bundle init
3. プロジェクトローカルでgemを入れておく場所を作る
$ mkdir vendor/bundle
4. 最初のbundle
$ bundle install --path ./vendor/bundle
(.bundle/config に --pathを保存されて、以降のbundleコマンドで有効になる様子)
それ以降(必要なときに)
1. なにかgemが必要になったらgemを追記$ vim Gemfile2. bundleコマンドで必要なgemをプロジェクトローカルにinstall
$ bundle update