bundler入門
今まで何気にbundlerを使っていたが、あまり詳しく知らなかったので、勉強+ブログ更新がてら再度勉強することにしました。
といっても本サイトをコピペするだけですけど。。。
まずはじめに
bundlerをインストールします
gem install bundler
プロジェクトルートに「Gemfile」を作成して設置します。
Gemfileの編集
作成した「Gemfile」にURLを指定します
以下の3つのどれでもいいみたいです。gemのDL先の指定ですね。
source "http://rubygems.org" source "http://gems.rubyforge.org" source "http://gemcutter.org"
インストールしたいパッケージを追加する
とりあえず「rails」を入れときます
gem "rails", "3.2.1"
編集完了したらインストールする
$ bundle install
その他の設定
バージョン番号など、必要なgemsを宣言します。構文を使い使用するバージョンを指定する
ちょっと「~」(チルダ)の使い方が特殊なぐらいで、簡単に指定できます。
#何も指定なしだったら、最新をインストール gem "nokogiri" # 指定したバージョンがインストールされる gem "rails", "3.0.0.beta3" # バージョン1.0以上をインストール gem "rack", ">=1.0" # 例を一応出します。 # "~>2.0.3"は">=2.0.3" と "<2.1" の間にマッチする。 # "~>2.1"は">=2.1" と "<3.0" の間にマッチする。 # "~>2.2.beta" は "2.2.beta.12" のようにマッチする。 gem "thin", "~>1.1"
gemのメインファイルが、gem名と異なる場合は、それを要求する方法を指定する
gem "rspec", :require => "spec" gem "sqlite3-ruby", "1.2.5", :require => "sqlite3"
Gitを指定することも可能
gem "nokogiri", :git => "git://github.com/tenderlove/nokogiri.git", :branch => "1.4"
group化する
gemをグループ分けし環境でgemの使い分けができます。
gem "wirble", :group => :development group :test do gem "rspec" gem "faker" end
グループを除外してインストールすることができます。
これによって、本稼働時のインストールとテスト時のインストールを使い分けることができます。
$ bundle install --without test development
ちなみにGemfileはデフォルトで「group: assets」となっている。(rails3.2)
最初勘違いしたのだが「assets」は本番環境で読み込むんだったら、「production」じゃないか?と思ったら
じつは「application.rb」で
Bundler.require(*Rails.groups(:assets => %w(development test)))
ってなっていました、これで「development test」では「assets」は読み込まないってなってたんですね・・・
しらなかったorz
まとめ
まだ理解していないところが多いですが、今回はここまで!
時間があるときに、また追記します。