久しぶりにBundlerを入れてみた。現在のバージョンが1.0.2で随分バージョンアップしてた。
公式サイトも
Bundler: The best way to manage Ruby applications
に。
早速 gem install bundler。今までと変わらずRailsのプロジェクトにgemの依存性を定義したGemfileを配置する。
続いて定義されたgemをインストールすべく
bundle install
このコマンドでGemfileに定義したgemがRubyのgemライブラリが配置されている場所にDLされる。↓みたく--pathオプション付けるとライブラリのインストール先が指定可能。結構前のバージョンだとデフォで↓みたくvendorフォルダに配置されてたけど、変わったみたいね。
bundle install --path vendor/bundle
続いて、Bundlerで管理していうgemをRailsでロードできるようにする。まず、config/boot.rbの最終行付近にある
# All that for this: Rails.boot!
のすぐ上に以下のコードを記載する。
class Rails::Boot def run load_initializer Rails::Initializer.class_eval do def load_gems @bundler_loaded ||= Bundler.require :default, Rails.env end end Rails::Initializer.run(:set_load_path) end end
お次に、config/preinitializer.rb(無ければ作成する)に以下のコードを記載する。
begin require "rubygems" require "bundler" rescue LoadError raise "Could not load the bundler gem. Install it with `gem install bundler`." end if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24") raise RuntimeError, "Your bundler version is too old for Rails 2.3." + "Run `gem install bundler` to upgrade." end begin # Set up load paths for all bundled gems ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__) Bundler.setup rescue Bundler::GemNotFound raise RuntimeError, "Bundler couldn't find some gems." + "Did you run `bundle install`?" end
な感じで、セットアップ完了。
てか、すんごい久しぶりにBlog書いたな…。