Bundler入門
Bundlerとは?
BundlerはGemとそのバージョンを厳密に辿ってインストールすることで、 Rubyプロジェクトのための一定の環境を提供します。
Bundlerは依存性地獄から抜け出すためのものであり、
必要とされるGemを開発環境、ステージング環境、製品環境のぞれぞれで提供されることを保証します。
プロジェクトで作業を始めるには、単にbundle install
とするだけです。
はじめに
Bundlerを始めるのはとても簡単です! ターミナルウインドウを開いて、下記のコマンドを実行してください。
$ gem install bundler
プロジェクトのルートのGemfile
内に、依存性の情報を指定して下さい。
source 'https://rubygems.org'
gem 'nokogiri'
gem 'rack', '~>1.1'
gem 'rspec', :require => 'spec'
指定された提供元(source
)から、必要とするGemを全てインストールします。
$ bundle install
$ git add Gemfile Gemfile.lock
2つ目のコマンドはGemfile
とGemfile.lock
をリポジトリに追加します。
これは、あなたが現在使用しているサードパーティ製のコードだけでなく開発環境も含め、
このアプリケーションの他の開発者が同じものを使用することを保証します。
アプリケーション内部で、bundleされた環境を読み込みます。
require 'rubygems'
require 'bundler/setup'
# require your gems as usual
require 'nokogiri'
bundleのGemに付属している実行ファイルは、次のように実行します。
$ bundle exec rspec spec/models
一部のケースでbundle exec
抜きでの実行は、
実行ファイルがあなたのシステム(system
)内にインストールされていて、
bundleと競合するGemが無ければ動作するかもしれません。
ただし、これは信頼出来ない処理であり、痛い目を見る原因になりえます。 例え動作しているように見えても、将来的にまたは別のマシンで動かない可能性があります。
もし、bundle内のGemへのショートカットが欲しいのであれば、下記のコマンドを実行します。
$ bundle install --binstubs
$ bin/rspec spec/models
bin
へインストールされた実行ファイルは、bundleへスコープされ、常にそれが動作します。
© 2010 - 2017 STUDIO KINGDOM