Docs header transparent bg


bundle - Ruby Dependency Management

bundle COMMAND [--no-color] [--verbose] [ARGS]


Bundler manages an application's dependencies through its entire life across many machines systematically and repeatably.

See the bundler website for information on getting started, and Gemfile(5) for more information on the Gemfile format.


Print all output without color
Print out additional logging information

Bundle Commands

We divide bundle subcommands into primary commands and utilities.

Primary Commands

bundle install(1)
Install the gems specified by the Gemfile or Gemfile.lock
bundle update(1)
Update dependencies to their latest versions
bundle package(1)
Package the .gem files required by your application into the vendor/cache directory
bundle exec(1)
Execute a script in the context of the current bundle
bundle config(1)
Specify and read configuration options for bundler
bundle help(1)
Display detailed help for each subcommand


bundle check(1)
Determine whether the requirements for your application are installed and available to bundler
bundle show(1)
Show the source location of a particular gem in the bundle
[bundle outdated(1)][bundle-outdated]
Show all of the outdated gems in the current bundle
bundle console(1)
Start an IRB session in the context of the current bundle
bundle open(1)
Open an installed gem in the editor
[bundle lock(1)][bundle-lock]
Generate a lockfile for your dependencies
bundle viz(1)
Generate a visual representation of your dependencies
bundle init(1)
Generate a simple Gemfile, placed in the current directory
bundle gem(1)
Create a simple gem, suitable for development with bundler
bundle platform(1)
Display platform compatibility information
bundle clean(1)
Clean up unused gems in your bundler directory
bundle doctor(1)
Display warnings about common potential problems


When running a command that isn't listed in PRIMARY COMMANDS or UTILITIES, Bundler will try to find an executable on your path named bundler-<command> and execute it, passing down any extra arguments to it.

Bundler Trampolining

Bundler includes a feature called trampolining, designed to allow a single developer to work on multiple projects, each on different Bundler versions. The trampoline will infer the correct version of Bundler to use for each project and load that version instead of the version directly invoked (which is almost always the newest version installed locally).

Bundler by default will use the Bundler version in the current directory to determine the version to trampoline to, reading from the BUNDLED WITH section. However, if the BUNDLER_VERSION environment variable is set, that version will override the lockfile inference and can be used in directories without a lockfile.

Until the target version is Bundler 2 or later, BUNDLE_TRAMPOLINE_FORCE must be set for the trampoline to be used. Additionally, BUNDLE_TRAMPOLINE_DISABLE can be set to completely disable the trampoline.


These commands are obsolete and should no longer be used

  • bundle cache(1)
  • bundle list(1)
Edit this document on GitHub if you caught an error or noticed something was missing.