Bundler provides a consistent environment for Ruby projects by tracking
and installing the exact gems and versions that are needed.
Bundler is an exit from dependency hell, and ensures that the gems you need are present in development, staging, and production. Starting work on a project is as simple as
$ gem install bundler
source 'https://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
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
binare scoped to the bundle, and will always work.
Bundler has a lot of contributors and users, and they all talk to each other quite a bit. If you have questions, try the IRC channel or mailing list. If you're interested in contributing to the project (no programming skills needed), read the contributing guide. While participating in the Bundler project, please keep the code of conduct in mind, and be inclusive and friendly towards everyone. If you have sponsorship or security questions, please contact the core team directly.