最近は bundler というアプリケーションを動かすのに必要な gem を管理するツールが無くてはならない状態なので軽く紹介。
bundler を使うには、お約束の
gem install bundler
を実行してから、対象となるアプリケーションのルートディレクトリに下のような内容の Gemfile という名前のファイルを作成する必要がある。
source :gemcutter group :cucumber do gem 'cucumber' gem 'webrat' gem 'rspec', :require => 'spec' gem 'rr' gem 'mechanize' gem 'hpricot' gem 'rspec_hpricot_matchers' end
説明は省略するけど、だいたいわかるよね。このファイルを作成したら
bundle install
を実行すると $HOME/.bundle に必要な gem が格納される。その後に
bundle lock
して、利用する gem をロックしてから
bundle exec spec spec
とか
bundle exec rake cucumber
みたいな感じで、gem を利用してアプリケーションを実行することができる。
Gemfile の中に記述しているバージョンとかを変えた場合は
bundle unlock bundle install bundle lock
みたいな手順で入れ替えを行う必要があるんだけど、これは
bundle install --relock
の一行でも良い。
最近困っているのは、ロックに用いる Gemfile.lock が内部ではハッシュで管理されているせいで、複数人で使い回す場合に diff が生成されまくるというところ。この現象は何とかしたい。
こんな感じで、まだまだドキュメントも少なくて、困ったらソースを読むという状態ではあるんだけど、やりたいことが bundler で実現できそうな人は使ってみると良いと思います。