bundler environment variables
Here are some environment variables that bundler uses. This is only the bundler-specific variables. I’m leaving out other environment variables, like RUBYOPT or PATH, that bundler uses, but that are used by other things on the system, too. There is a partial list in the bundle-config man page.
Some of the values are accessed through Bundler::Settings. Any values accessed there can
be set in a local (./.bundle/config) or global (~/.bundle/config) settings file. The order
of precedence is: local, environment, global.
Incidentally, while looking through bundler 1.1.1’s code, I learned that you can
trigger whether to load a particular gem with environment variables. So, for example,
if you say gem 'debugger', :env => 'USE_DEBUGGER', it only loads the debugger
gem if USE_DEBUGGER is set; or, if you say gem 'debugger', :env => { 'USE_DEBUGGER' => 'yes' },
then it only loads the debugger gem if USE_DEBUGGER is set to yes.
| Variable | Description | Source reference |
|---|---|---|
BUNDLER_EDITOR |
editor to use for commands like bundle open, defaults to $VISUAL or $EDITOR.) |
bundler/cli.rb |
BUNDLE_APP_CONFIG |
path to directory where bundler stores local configuration, defaults to ./bundle/config |
bundler.rb |
BUNDLE_BIN_PATH |
bundler/rubygems_integration.rb, bundler/runtime.rb | |
BUNDLE_BIN (settings[:bin]) |
bundler.rb, bundler/installer.rb | |
BUNDLE_CLEAN (settings[:clean]) |
Run bundle clean during bundle install and bundle update |
bundler/cli.rb |
BUNDLE_CONFIG |
global bundler settings file, defaults to ~/.bundle/config |
bundler/settings.rb |
BUNDLE_DISABLE_SHARED_GEMS (settings[:disable_shared_gems]) |
if set, bundle won’t use shared (system) gems | bundler.rb |
BUNDLE_FROZEN (settings[:frozen]) |
used internally | bundler/cli.rb, bundler/definition.rb, bundler/installer.rb |
BUNDLE_GEMFILE |
path to the gemfile | bundler/cli.rb, bundler/runtime.rb, bundler/shared_helpers.rb |
BUNDLE_NO_PRUNE (settings[:no_prune]) |
Don’t remove stale gems from the cache | bundler/cli.rb, bundler/runtime.rb |
BUNDLE_PATH (settings.path or settings[:path]) |
where bundler should install your gems, defaults to the shared (system) gem path | bundler/settings.rb, bundler/cli.rb, bundler/installer.rb |
BUNDLE_SPEC_RUN |
used in bundler’s tests | bundler/shared_helpers.rb |
BUNDLE_SYSTEM_BINDIR (settings[:system_bindir]) |
overridden gem binstub directory, similar to -n in .gemrc |
bundler.rb |
BUNDLE_WITHOUT (settings.without) |
list of groups to exclude, :-separated | bundler/cli.rb, bundler/definition.rb |
DEBUG, DEBUG_RESOLVER |
outputs debug logs | bundler/resolver.rb, bundler/setup.rb, bundler/ui.rb |
HTTP_PROXY, HTTP_PROXY_USER, HTTP_PROXY_PASS |
configures an HTTP proxy |