$ gem install bundler
source "http://rubygems.org" gem "nokogiri" gem "rack", "~>1.1" gem "rspec", :require => "spec"Learn More: Gemfiles
$ bundle install $ git add Gemfile Gemfile.lockLearn More: bundle install
require "rubygems" require "bundler/setup" # require your gems as usual require "nokogiri"Learn More: Bundler.setup
$ bundle exec rspec spec/models
In some cases, running executables without bundle exec
may work, if the executable happens to be installed in your system
and does not pull in any gems that conflict with your bundle.
However, this is unreliable and is the source of considerable pain. Even if it looks like it works, it may not work in the future or on another machine.
$ bundle install --binstubs $ bin/rspec spec/models
bin are scoped to the
bundle and will always work
$ bundle installLearn More: bundle install
# change gem "nokogiri", "1.4.2" # to gem "nokogiri", "1.4.3"
$ bundle install
After making a change to your Gemfile, the next
bundle install will try to update the gems in
your snapshot (Gemfile.lock) without forcing an
update to any of the other gems in your Gemfile.
This will usually work for simple dependencies, like
nokogiri or sqlite3. On the
other hand, updating Rails will usually require an update
to some other component, because of the amount of dependencies
it has.
Gemfile)
$ bundle update railsLearn More: bundle update
$ bundle update
$ bundle install --deployment
--deployment flag turns on defaults that are appropriate for
a deployment environment. Gems are installed to
vendor/bundle and the Gemfile.lock must be
checked in and up to date before Bundler is run.
$ bundle packageLearn More: bundle package
group :development do gem "wirble" endLearn more: Groups
.gemspec at its root.
Bundler will make the executables available to bundle exec and
compile C extensions
gem "nokogiri", :git => "git://github.com/tenderlove/nokogiri.git"Learn more: Git
gem "nokogiri", :path => "~/Code/nokogiri"
$ bundle install --path vendor
Many thanks to Bundler's contributors and sponsors