bundler 2.2.0.rc.1 → 2.2.0.rc.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bundler might be problematic. Click here for more details.

Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +725 -687
  3. data/lib/bundler.rb +6 -3
  4. data/lib/bundler/build_metadata.rb +3 -11
  5. data/lib/bundler/cli.rb +27 -14
  6. data/lib/bundler/cli/add.rb +1 -1
  7. data/lib/bundler/cli/cache.rb +1 -7
  8. data/lib/bundler/cli/clean.rb +1 -1
  9. data/lib/bundler/cli/common.rb +14 -0
  10. data/lib/bundler/cli/doctor.rb +1 -1
  11. data/lib/bundler/cli/exec.rb +1 -1
  12. data/lib/bundler/cli/fund.rb +36 -0
  13. data/lib/bundler/cli/gem.rb +1 -1
  14. data/lib/bundler/cli/info.rb +2 -1
  15. data/lib/bundler/cli/init.rb +1 -1
  16. data/lib/bundler/cli/inject.rb +1 -1
  17. data/lib/bundler/cli/install.rb +4 -2
  18. data/lib/bundler/cli/list.rb +1 -1
  19. data/lib/bundler/cli/outdated.rb +1 -1
  20. data/lib/bundler/cli/pristine.rb +1 -1
  21. data/lib/bundler/cli/show.rb +1 -1
  22. data/lib/bundler/cli/update.rb +2 -0
  23. data/lib/bundler/compact_index_client.rb +1 -1
  24. data/lib/bundler/compact_index_client/cache.rb +1 -1
  25. data/lib/bundler/definition.rb +28 -37
  26. data/lib/bundler/dep_proxy.rb +1 -1
  27. data/lib/bundler/dsl.rb +4 -4
  28. data/lib/bundler/endpoint_specification.rb +1 -1
  29. data/lib/bundler/fetcher.rb +3 -3
  30. data/lib/bundler/fetcher/base.rb +1 -1
  31. data/lib/bundler/fetcher/compact_index.rb +1 -1
  32. data/lib/bundler/fetcher/downloader.rb +1 -1
  33. data/lib/bundler/fetcher/index.rb +1 -1
  34. data/lib/bundler/friendly_errors.rb +3 -3
  35. data/lib/bundler/gem_helper.rb +17 -9
  36. data/lib/bundler/gem_helpers.rb +6 -1
  37. data/lib/bundler/gem_version_promoter.rb +1 -1
  38. data/lib/bundler/graph.rb +1 -1
  39. data/lib/bundler/index.rb +1 -1
  40. data/lib/bundler/injector.rb +1 -1
  41. data/lib/bundler/installer.rb +1 -1
  42. data/lib/bundler/installer/gem_installer.rb +1 -1
  43. data/lib/bundler/installer/parallel_installer.rb +1 -1
  44. data/lib/bundler/installer/standalone.rb +2 -2
  45. data/lib/bundler/lazy_specification.rb +3 -3
  46. data/lib/bundler/lockfile_generator.rb +1 -1
  47. data/lib/bundler/lockfile_parser.rb +1 -1
  48. data/lib/bundler/mirror.rb +2 -2
  49. data/lib/bundler/plugin.rb +5 -6
  50. data/lib/bundler/plugin/index.rb +1 -1
  51. data/lib/bundler/plugin/installer.rb +1 -1
  52. data/lib/bundler/plugin/installer/rubygems.rb +1 -1
  53. data/lib/bundler/plugin/source_list.rb +1 -1
  54. data/lib/bundler/remote_specification.rb +1 -1
  55. data/lib/bundler/resolver.rb +4 -4
  56. data/lib/bundler/resolver/spec_group.rb +2 -2
  57. data/lib/bundler/retry.rb +1 -1
  58. data/lib/bundler/ruby_version.rb +1 -1
  59. data/lib/bundler/rubygems_ext.rb +46 -1
  60. data/lib/bundler/rubygems_gem_installer.rb +2 -2
  61. data/lib/bundler/rubygems_integration.rb +18 -6
  62. data/lib/bundler/runtime.rb +2 -2
  63. data/lib/bundler/settings.rb +49 -42
  64. data/lib/bundler/shared_helpers.rb +1 -1
  65. data/lib/bundler/similarity_detector.rb +1 -1
  66. data/lib/bundler/source.rb +1 -1
  67. data/lib/bundler/source/git.rb +1 -1
  68. data/lib/bundler/source/git/git_proxy.rb +4 -2
  69. data/lib/bundler/source/path.rb +2 -2
  70. data/lib/bundler/source/path/installer.rb +1 -1
  71. data/lib/bundler/source/rubygems.rb +2 -2
  72. data/lib/bundler/source/rubygems/remote.rb +1 -1
  73. data/lib/bundler/source_list.rb +2 -2
  74. data/lib/bundler/spec_set.rb +1 -1
  75. data/lib/bundler/stub_specification.rb +1 -1
  76. data/lib/bundler/templates/newgem/README.md.tt +1 -1
  77. data/lib/bundler/templates/newgem/bin/console.tt +1 -2
  78. data/lib/bundler/templates/newgem/newgem.gemspec.tt +2 -2
  79. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +0 -1
  80. data/lib/bundler/ui/shell.rb +5 -5
  81. data/lib/bundler/uri_credentials_filter.rb +1 -1
  82. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +7 -4
  83. data/lib/bundler/vendored_persistent.rb +0 -7
  84. data/lib/bundler/version.rb +1 -1
  85. data/lib/bundler/worker.rb +1 -1
  86. data/lib/bundler/yaml_serializer.rb +1 -1
  87. data/man/bundle-add.1 +1 -1
  88. data/man/{bundle-add.ronn → bundle-add.1.ronn} +0 -0
  89. data/man/bundle-binstubs.1 +5 -3
  90. data/man/{bundle-binstubs.ronn → bundle-binstubs.1.ronn} +2 -4
  91. data/man/bundle-cache.1 +1 -1
  92. data/man/{bundle-cache.ronn → bundle-cache.1.ronn} +0 -0
  93. data/man/bundle-check.1 +1 -1
  94. data/man/{bundle-check.ronn → bundle-check.1.ronn} +0 -0
  95. data/man/bundle-clean.1 +1 -1
  96. data/man/{bundle-clean.ronn → bundle-clean.1.ronn} +0 -0
  97. data/man/bundle-config.1 +14 -14
  98. data/man/{bundle-config.ronn → bundle-config.1.ronn} +14 -13
  99. data/man/bundle-doctor.1 +1 -1
  100. data/man/{bundle-doctor.ronn → bundle-doctor.1.ronn} +0 -0
  101. data/man/bundle-exec.1 +1 -1
  102. data/man/{bundle-exec.ronn → bundle-exec.1.ronn} +0 -0
  103. data/man/bundle-gem.1 +1 -1
  104. data/man/{bundle-gem.ronn → bundle-gem.1.ronn} +0 -0
  105. data/man/bundle-info.1 +1 -1
  106. data/man/{bundle-info.ronn → bundle-info.1.ronn} +0 -0
  107. data/man/bundle-init.1 +1 -1
  108. data/man/{bundle-init.ronn → bundle-init.1.ronn} +0 -0
  109. data/man/bundle-inject.1 +1 -1
  110. data/man/{bundle-inject.ronn → bundle-inject.1.ronn} +0 -0
  111. data/man/bundle-install.1 +29 -2
  112. data/man/{bundle-install.ronn → bundle-install.1.ronn} +24 -2
  113. data/man/bundle-list.1 +1 -1
  114. data/man/{bundle-list.ronn → bundle-list.1.ronn} +0 -0
  115. data/man/bundle-lock.1 +1 -1
  116. data/man/{bundle-lock.ronn → bundle-lock.1.ronn} +0 -0
  117. data/man/bundle-open.1 +1 -1
  118. data/man/{bundle-open.ronn → bundle-open.1.ronn} +0 -0
  119. data/man/bundle-outdated.1 +1 -1
  120. data/man/{bundle-outdated.ronn → bundle-outdated.1.ronn} +0 -0
  121. data/man/bundle-platform.1 +1 -1
  122. data/man/{bundle-platform.ronn → bundle-platform.1.ronn} +0 -0
  123. data/man/bundle-pristine.1 +1 -1
  124. data/man/{bundle-pristine.ronn → bundle-pristine.1.ronn} +0 -0
  125. data/man/bundle-remove.1 +1 -1
  126. data/man/{bundle-remove.ronn → bundle-remove.1.ronn} +0 -0
  127. data/man/bundle-show.1 +1 -1
  128. data/man/{bundle-show.ronn → bundle-show.1.ronn} +0 -0
  129. data/man/bundle-update.1 +1 -1
  130. data/man/{bundle-update.ronn → bundle-update.1.ronn} +0 -0
  131. data/man/bundle-viz.1 +1 -1
  132. data/man/{bundle-viz.ronn → bundle-viz.1.ronn} +0 -0
  133. data/man/bundle.1 +1 -1
  134. data/man/{bundle.ronn → bundle.1.ronn} +0 -0
  135. data/man/gemfile.5 +4 -4
  136. data/man/gemfile.5.ronn +4 -4
  137. metadata +28 -53
  138. data/man/bundle-add.1.txt +0 -58
  139. data/man/bundle-binstubs.1.txt +0 -48
  140. data/man/bundle-cache.1.txt +0 -78
  141. data/man/bundle-check.1.txt +0 -33
  142. data/man/bundle-clean.1.txt +0 -26
  143. data/man/bundle-config.1.txt +0 -527
  144. data/man/bundle-doctor.1.txt +0 -44
  145. data/man/bundle-exec.1.txt +0 -181
  146. data/man/bundle-gem.1.txt +0 -117
  147. data/man/bundle-info.1.txt +0 -21
  148. data/man/bundle-init.1.txt +0 -34
  149. data/man/bundle-inject.1.txt +0 -32
  150. data/man/bundle-install.1.txt +0 -401
  151. data/man/bundle-list.1.txt +0 -44
  152. data/man/bundle-lock.1.txt +0 -93
  153. data/man/bundle-open.1.txt +0 -29
  154. data/man/bundle-outdated.1.txt +0 -131
  155. data/man/bundle-platform.1.txt +0 -57
  156. data/man/bundle-pristine.1.txt +0 -44
  157. data/man/bundle-remove.1.txt +0 -34
  158. data/man/bundle-show.1.txt +0 -27
  159. data/man/bundle-update.1.txt +0 -391
  160. data/man/bundle-viz.1.txt +0 -39
  161. data/man/bundle.1.txt +0 -116
  162. data/man/gemfile.5.txt +0 -651
  163. data/man/index.txt +0 -25
@@ -1,58 +0,0 @@
1
- BUNDLE-ADD(1) BUNDLE-ADD(1)
2
-
3
-
4
-
5
- NAME
6
- bundle-add - Add gem to the Gemfile and run bundle install
7
-
8
- SYNOPSIS
9
- bundle add GEM_NAME [--group=GROUP] [--version=VERSION]
10
- [--source=SOURCE] [--git=GIT] [--branch=BRANCH] [--skip-install]
11
- [--strict] [--optimistic]
12
-
13
- DESCRIPTION
14
- Adds the named gem to the Gemfile and run bundle install. bundle
15
- install can be avoided by using the flag --skip-install.
16
-
17
- Example:
18
-
19
- bundle add rails
20
-
21
- bundle add rails --version "< 3.0, > 1.1"
22
-
23
- bundle add rails --version "~> 5.0.0" --source
24
- "https://gems.example.com" --group "development"
25
-
26
- bundle add rails --skip-install
27
-
28
- bundle add rails --group "development, test"
29
-
30
- OPTIONS
31
- --version, -v
32
- Specify version requirements(s) for the added gem.
33
-
34
- --group, -g
35
- Specify the group(s) for the added gem. Multiple groups should
36
- be separated by commas.
37
-
38
- --source, , -s
39
- Specify the source for the added gem.
40
-
41
- --git Specify the git source for the added gem.
42
-
43
- --branch
44
- Specify the git branch for the added gem.
45
-
46
- --skip-install
47
- Adds the gem to the Gemfile but does not install it.
48
-
49
- --optimistic
50
- Adds optimistic declaration of version
51
-
52
- --strict
53
- Adds strict declaration of version
54
-
55
-
56
-
57
-
58
- July 2020 BUNDLE-ADD(1)
@@ -1,48 +0,0 @@
1
- BUNDLE-BINSTUBS(1) BUNDLE-BINSTUBS(1)
2
-
3
-
4
-
5
- NAME
6
- bundle-binstubs - Install the binstubs of the listed gems
7
-
8
- SYNOPSIS
9
- bundle binstubs GEM_NAME [--force] [--path PATH] [--standalone]
10
-
11
- DESCRIPTION
12
- Binstubs are scripts that wrap around executables. Bundler creates a
13
- small Ruby file (a binstub) that loads Bundler, runs the command, and
14
- puts it into bin/. Binstubs are a shortcut-or alternative- to always
15
- using bundle exec. This gives you a file that can be run directly, and
16
- one that will always run the correct gem version used by the
17
- application.
18
-
19
- For example, if you run bundle binstubs rspec-core, Bundler will create
20
- the file bin/rspec. That file will contain enough code to load Bundler,
21
- tell it to load the bundled gems, and then run rspec.
22
-
23
- This command generates binstubs for executables in GEM_NAME. Binstubs
24
- are put into bin, or the --path directory if one has been set. Calling
25
- binstubs with [GEM [GEM]] will create binstubs for all given gems.
26
-
27
- OPTIONS
28
- --force
29
- Overwrite existing binstubs if they exist.
30
-
31
- --path The location to install the specified binstubs to. This defaults
32
- to bin.
33
-
34
- --standalone
35
- Makes binstubs that can work without depending on Rubygems or
36
- Bundler at runtime.
37
-
38
- --shebang
39
- Specify a different shebang executable name than the default
40
- (default 'ruby')
41
-
42
- BUNDLE INSTALL --BINSTUBS
43
- To create binstubs for all the gems in the bundle you can use the
44
- --binstubs flag in bundle install(1) bundle-install.1.html.
45
-
46
-
47
-
48
- July 2020 BUNDLE-BINSTUBS(1)
@@ -1,78 +0,0 @@
1
- BUNDLE-CACHE(1) BUNDLE-CACHE(1)
2
-
3
-
4
-
5
- NAME
6
- bundle-cache - Package your needed .gem files into your application
7
-
8
- SYNOPSIS
9
- bundle cache
10
-
11
- DESCRIPTION
12
- Copy all of the .gem files needed to run the application into the
13
- vendor/cache directory. In the future, when running [bundle
14
- install(1)][bundle-install], use the gems in the cache in preference to
15
- the ones on rubygems.org.
16
-
17
- GIT AND PATH GEMS
18
- The bundle cache command can also package :git and :path dependencies
19
- besides .gem files. This needs to be explicitly enabled via the --all
20
- option. Once used, the --all option will be remembered.
21
-
22
- SUPPORT FOR MULTIPLE PLATFORMS
23
- When using gems that have different packages for different platforms,
24
- Bundler supports caching of gems for other platforms where the Gemfile
25
- has been resolved (i.e. present in the lockfile) in vendor/cache. This
26
- needs to be enabled via the --all-platforms option. This setting will
27
- be remembered in your local bundler configuration.
28
-
29
- REMOTE FETCHING
30
- By default, if you run bundle install(1)](bundle-install.1.html) after
31
- running bundle cache(1) bundle-cache.1.html, bundler will still connect
32
- to rubygems.org to check whether a platform-specific gem exists for any
33
- of the gems in vendor/cache.
34
-
35
- For instance, consider this Gemfile(5):
36
-
37
-
38
-
39
- source "https://rubygems.org"
40
-
41
- gem "nokogiri"
42
-
43
-
44
-
45
- If you run bundle cache under C Ruby, bundler will retrieve the version
46
- of nokogiri for the "ruby" platform. If you deploy to JRuby and run
47
- bundle install, bundler is forced to check to see whether a "java"
48
- platformed nokogiri exists.
49
-
50
- Even though the nokogiri gem for the Ruby platform is technically
51
- acceptable on JRuby, it has a C extension that does not run on JRuby.
52
- As a result, bundler will, by default, still connect to rubygems.org to
53
- check whether it has a version of one of your gems more specific to
54
- your platform.
55
-
56
- This problem is also not limited to the "java" platform. A similar
57
- (common) problem can happen when developing on Windows and deploying to
58
- Linux, or even when developing on OSX and deploying to Linux.
59
-
60
- If you know for sure that the gems packaged in vendor/cache are
61
- appropriate for the platform you are on, you can run bundle install
62
- --local to skip checking for more appropriate gems, and use the ones in
63
- vendor/cache.
64
-
65
- One way to be sure that you have the right platformed versions of all
66
- your gems is to run bundle cache on an identical machine and check in
67
- the gems. For instance, you can run bundle cache on an identical
68
- staging box during your staging process, and check in the vendor/cache
69
- before deploying to production.
70
-
71
- By default, bundle cache(1) bundle-cache.1.html fetches and also
72
- installs the gems to the default location. To package the dependencies
73
- to vendor/cache without installing them to the local install location,
74
- you can run bundle cache --no-install.
75
-
76
-
77
-
78
- July 2020 BUNDLE-CACHE(1)
@@ -1,33 +0,0 @@
1
- BUNDLE-CHECK(1) BUNDLE-CHECK(1)
2
-
3
-
4
-
5
- NAME
6
- bundle-check - Verifies if dependencies are satisfied by installed gems
7
-
8
- SYNOPSIS
9
- bundle check [--dry-run] [--gemfile=FILE] [--path=PATH]
10
-
11
- DESCRIPTION
12
- check searches the local machine for each of the gems requested in the
13
- Gemfile. If all gems are found, Bundler prints a success message and
14
- exits with a status of 0.
15
-
16
- If not, the first missing gem is listed and Bundler exits status 1.
17
-
18
- OPTIONS
19
- --dry-run
20
- Locks the [Gemfile(5)][Gemfile(5)] before running the command.
21
-
22
- --gemfile
23
- Use the specified gemfile instead of the
24
- [Gemfile(5)][Gemfile(5)].
25
-
26
- --path Specify a different path than the system default ($BUNDLE_PATH
27
- or $GEM_HOME). Bundler will remember this value for future
28
- installs on this machine.
29
-
30
-
31
-
32
-
33
- July 2020 BUNDLE-CHECK(1)
@@ -1,26 +0,0 @@
1
- BUNDLE-CLEAN(1) BUNDLE-CLEAN(1)
2
-
3
-
4
-
5
- NAME
6
- bundle-clean - Cleans up unused gems in your bundler directory
7
-
8
- SYNOPSIS
9
- bundle clean [--dry-run] [--force]
10
-
11
- DESCRIPTION
12
- This command will remove all unused gems in your bundler directory.
13
- This is useful when you have made many changes to your gem
14
- dependencies.
15
-
16
- OPTIONS
17
- --dry-run
18
- Print the changes, but do not clean the unused gems.
19
-
20
- --force
21
- Force a clean even if --path is not set.
22
-
23
-
24
-
25
-
26
- July 2020 BUNDLE-CLEAN(1)
@@ -1,527 +0,0 @@
1
- BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
2
-
3
-
4
-
5
- NAME
6
- bundle-config - Set bundler configuration options
7
-
8
- SYNOPSIS
9
- bundle config [list|get|set|unset] [name [value]]
10
-
11
- DESCRIPTION
12
- This command allows you to interact with Bundler's configuration
13
- system.
14
-
15
- Bundler loads configuration settings in this order:
16
-
17
- 1. Local config (<project_root>/.bundle/config or
18
- $BUNDLE_APP_CONFIG/config)
19
-
20
- 2. Environmental variables (ENV)
21
-
22
- 3. Global config (~/.bundle/config)
23
-
24
- 4. Bundler default config
25
-
26
-
27
-
28
- Executing bundle config list with will print a list of all bundler
29
- configuration for the current bundle, and where that configuration was
30
- set.
31
-
32
- Executing bundle config get <name> will print the value of that
33
- configuration setting, and where it was set.
34
-
35
- Executing bundle config set <name> <value> will set that configuration
36
- to the value specified for all bundles executed as the current user.
37
- The configuration will be stored in ~/.bundle/config. If name already
38
- is set, name will be overridden and user will be warned.
39
-
40
- Executing bundle config set --global <name> <value> works the same as
41
- above.
42
-
43
- Executing bundle config set --local <name> <value> will set that
44
- configuration in the directory for the local application. The
45
- configuration will be stored in <project_root>/.bundle/config. If
46
- BUNDLE_APP_CONFIG is set, the configuration will be stored in
47
- $BUNDLE_APP_CONFIG/config.
48
-
49
- Executing bundle config unset <name> will delete the configuration in
50
- both local and global sources.
51
-
52
- Executing bundle config unset --global <name> will delete the
53
- configuration only from the user configuration.
54
-
55
- Executing bundle config unset --local <name> <value> will delete the
56
- configuration only from the local application.
57
-
58
- Executing bundle with the BUNDLE_IGNORE_CONFIG environment variable set
59
- will cause it to ignore all configuration.
60
-
61
- Executing bundle config set disable_multisource true upgrades the
62
- warning about the Gemfile containing multiple primary sources to an
63
- error. Executing bundle config unset disable_multisource downgrades
64
- this error to a warning.
65
-
66
- REMEMBERING OPTIONS
67
- Flags passed to bundle install or the Bundler runtime, such as --path
68
- foo or --without production, are remembered between commands and saved
69
- to your local application's configuration (normally, ./.bundle/config).
70
-
71
- However, this will be changed in bundler 3, so it's better not to rely
72
- on this behavior. If these options must be remembered, it's better to
73
- set them using bundle config (e.g., bundle config set path foo).
74
-
75
- The options that can be configured are:
76
-
77
- bin Creates a directory (defaults to ~/bin) and place any
78
- executables from the gem there. These executables run in
79
- Bundler's context. If used, you might add this directory to your
80
- environment's PATH variable. For instance, if the rails gem
81
- comes with a rails executable, this flag will create a bin/rails
82
- executable that ensures that all referred dependencies will be
83
- resolved using the bundled gems.
84
-
85
- deployment
86
- In deployment mode, Bundler will 'roll-out' the bundle for
87
- production use. Please check carefully if you want to have this
88
- option enabled in development or test environments.
89
-
90
- path The location to install the specified gems to. This defaults to
91
- Rubygems' setting. Bundler shares this location with Rubygems,
92
- gem install ... will have gem installed there, too. Therefore,
93
- gems installed without a --path ... setting will show up by
94
- calling gem list. Accordingly, gems installed to other locations
95
- will not get listed.
96
-
97
- without
98
- A space-separated list of groups referencing gems to skip during
99
- installation.
100
-
101
- with A space-separated list of groups referencing gems to include
102
- during installation.
103
-
104
- BUILD OPTIONS
105
- You can use bundle config to give Bundler the flags to pass to the gem
106
- installer every time bundler tries to install a particular gem.
107
-
108
- A very common example, the mysql gem, requires Snow Leopard users to
109
- pass configuration flags to gem install to specify where to find the
110
- mysql_config executable.
111
-
112
-
113
-
114
- gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
115
-
116
-
117
-
118
- Since the specific location of that executable can change from machine
119
- to machine, you can specify these flags on a per-machine basis.
120
-
121
-
122
-
123
- bundle config set build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
124
-
125
-
126
-
127
- After running this command, every time bundler needs to install the
128
- mysql gem, it will pass along the flags you specified.
129
-
130
- CONFIGURATION KEYS
131
- Configuration keys in bundler have two forms: the canonical form and
132
- the environment variable form.
133
-
134
- For instance, passing the --without flag to bundle install(1)
135
- bundle-install.1.html prevents Bundler from installing certain groups
136
- specified in the Gemfile(5). Bundler persists this value in
137
- app/.bundle/config so that calls to Bundler.setup do not try to find
138
- gems from the Gemfile that you didn't install. Additionally, subsequent
139
- calls to bundle install(1) bundle-install.1.html remember this setting
140
- and skip those groups.
141
-
142
- The canonical form of this configuration is "without". To convert the
143
- canonical form to the environment variable form, capitalize it, and
144
- prepend BUNDLE_. The environment variable form of "without" is
145
- BUNDLE_WITHOUT.
146
-
147
- Any periods in the configuration keys must be replaced with two
148
- underscores when setting it via environment variables. The
149
- configuration key local.rack becomes the environment variable
150
- BUNDLE_LOCAL__RACK.
151
-
152
- LIST OF AVAILABLE KEYS
153
- The following is a list of all configuration keys and their purpose.
154
- You can learn more about their operation in bundle install(1)
155
- bundle-install.1.html.
156
-
157
- o allow_bundler_dependency_conflicts
158
- (BUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS): Allow resolving to
159
- specifications that have dependencies on bundler that are
160
- incompatible with the running Bundler version.
161
-
162
- o allow_deployment_source_credential_changes
163
- (BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES): When in
164
- deployment mode, allow changing the credentials to a gem's source.
165
- Ex: https://some.host.com/gems/path/ ->
166
- https://user_name:password@some.host.com/gems/path
167
-
168
- o allow_offline_install (BUNDLE_ALLOW_OFFLINE_INSTALL): Allow Bundler
169
- to use cached data when installing without network access.
170
-
171
- o auto_clean_without_path (BUNDLE_AUTO_CLEAN_WITHOUT_PATH):
172
- Automatically run bundle clean after installing when an explicit
173
- path has not been set and Bundler is not installing into the system
174
- gems.
175
-
176
- o auto_install (BUNDLE_AUTO_INSTALL): Automatically run bundle
177
- install when gems are missing.
178
-
179
- o bin (BUNDLE_BIN): Install executables from gems in the bundle to
180
- the specified directory. Defaults to false.
181
-
182
- o cache_all (BUNDLE_CACHE_ALL): Cache all gems, including path and
183
- git gems.
184
-
185
- o cache_all_platforms (BUNDLE_CACHE_ALL_PLATFORMS): Cache gems for
186
- all platforms.
187
-
188
- o cache_path (BUNDLE_CACHE_PATH): The directory that bundler will
189
- place cached gems in when running bundle package, and that bundler
190
- will look in when installing gems. Defaults to vendor/cache.
191
-
192
- o clean (BUNDLE_CLEAN): Whether Bundler should run bundle clean
193
- automatically after bundle install.
194
-
195
- o console (BUNDLE_CONSOLE): The console that bundle console starts.
196
- Defaults to irb.
197
-
198
- o default_install_uses_path (BUNDLE_DEFAULT_INSTALL_USES_PATH):
199
- Whether a bundle install without an explicit --path argument
200
- defaults to installing gems in .bundle.
201
-
202
- o deployment (BUNDLE_DEPLOYMENT): Disallow changes to the Gemfile.
203
- When the Gemfile is changed and the lockfile has not been updated,
204
- running Bundler commands will be blocked.
205
-
206
- o disable_checksum_validation (BUNDLE_DISABLE_CHECKSUM_VALIDATION):
207
- Allow installing gems even if they do not match the checksum
208
- provided by RubyGems.
209
-
210
- o disable_exec_load (BUNDLE_DISABLE_EXEC_LOAD): Stop Bundler from
211
- using load to launch an executable in-process in bundle exec.
212
-
213
- o disable_local_branch_check (BUNDLE_DISABLE_LOCAL_BRANCH_CHECK):
214
- Allow Bundler to use a local git override without a branch
215
- specified in the Gemfile.
216
-
217
- o disable_multisource (BUNDLE_DISABLE_MULTISOURCE): When set,
218
- Gemfiles containing multiple sources will produce errors instead of
219
- warnings. Use bundle config unset disable_multisource to unset.
220
-
221
- o disable_shared_gems (BUNDLE_DISABLE_SHARED_GEMS): Stop Bundler from
222
- accessing gems installed to RubyGems' normal location.
223
-
224
- o disable_version_check (BUNDLE_DISABLE_VERSION_CHECK): Stop Bundler
225
- from checking if a newer Bundler version is available on
226
- rubygems.org.
227
-
228
- o force_ruby_platform (BUNDLE_FORCE_RUBY_PLATFORM): Ignore the
229
- current machine's platform and install only ruby platform gems. As
230
- a result, gems with native extensions will be compiled from source.
231
-
232
- o frozen (BUNDLE_FROZEN): Disallow changes to the Gemfile. When the
233
- Gemfile is changed and the lockfile has not been updated, running
234
- Bundler commands will be blocked. Defaults to true when
235
- --deployment is used.
236
-
237
- o gem.push_key (BUNDLE_GEM__PUSH_KEY): Sets the --key parameter for
238
- gem push when using the rake release command with a private
239
- gemstash server.
240
-
241
- o gemfile (BUNDLE_GEMFILE): The name of the file that bundler should
242
- use as the Gemfile. This location of this file also sets the root
243
- of the project, which is used to resolve relative paths in the
244
- Gemfile, among other things. By default, bundler will search up
245
- from the current working directory until it finds a Gemfile.
246
-
247
- o global_gem_cache (BUNDLE_GLOBAL_GEM_CACHE): Whether Bundler should
248
- cache all gems globally, rather than locally to the installing Ruby
249
- installation.
250
-
251
- o ignore_messages (BUNDLE_IGNORE_MESSAGES): When set, no post install
252
- messages will be printed. To silence a single gem, use dot notation
253
- like ignore_messages.httparty true.
254
-
255
- o init_gems_rb (BUNDLE_INIT_GEMS_RB) Generate a gems.rb instead of a
256
- Gemfile when running bundle init.
257
-
258
- o jobs (BUNDLE_JOBS): The number of gems Bundler can install in
259
- parallel. Defaults to 1.
260
-
261
- o no_install (BUNDLE_NO_INSTALL): Whether bundle package should skip
262
- installing gems.
263
-
264
- o no_prune (BUNDLE_NO_PRUNE): Whether Bundler should leave outdated
265
- gems unpruned when caching.
266
-
267
- o only_update_to_newer_versions
268
- (BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS): During bundle update, only
269
- resolve to newer versions of the gems in the lockfile.
270
-
271
- o path (BUNDLE_PATH): The location on disk where all gems in your
272
- bundle will be located regardless of $GEM_HOME or $GEM_PATH values.
273
- Bundle gems not found in this location will be installed by bundle
274
- install. Defaults to Gem.dir. When --deployment is used, defaults
275
- to vendor/bundle.
276
-
277
- o path.system (BUNDLE_PATH__SYSTEM): Whether Bundler will install
278
- gems into the default system path (Gem.dir).
279
-
280
- o path_relative_to_cwd (BUNDLE_PATH_RELATIVE_TO_CWD) Makes --path
281
- relative to the CWD instead of the Gemfile.
282
-
283
- o plugins (BUNDLE_PLUGINS): Enable Bundler's experimental plugin
284
- system.
285
-
286
- o prefer_patch (BUNDLE_PREFER_PATCH): Prefer updating only to next
287
- patch version during updates. Makes bundle update calls equivalent
288
- to bundler update --patch.
289
-
290
- o print_only_version_number (BUNDLE_PRINT_ONLY_VERSION_NUMBER) Print
291
- only version number from bundler --version.
292
-
293
- o redirect (BUNDLE_REDIRECT): The number of redirects allowed for
294
- network requests. Defaults to 5.
295
-
296
- o retry (BUNDLE_RETRY): The number of times to retry failed network
297
- requests. Defaults to 3.
298
-
299
- o setup_makes_kernel_gem_public
300
- (BUNDLE_SETUP_MAKES_KERNEL_GEM_PUBLIC): Have Bundler.setup make the
301
- Kernel#gem method public, even though RubyGems declares it as
302
- private.
303
-
304
- o shebang (BUNDLE_SHEBANG): The program name that should be invoked
305
- for generated binstubs. Defaults to the ruby install name used to
306
- generate the binstub.
307
-
308
- o silence_deprecations (BUNDLE_SILENCE_DEPRECATIONS): Whether Bundler
309
- should silence deprecation warnings for behavior that will be
310
- changed in the next major version.
311
-
312
- o silence_root_warning (BUNDLE_SILENCE_ROOT_WARNING): Silence the
313
- warning Bundler prints when installing gems as root.
314
-
315
- o specific_platform (BUNDLE_SPECIFIC_PLATFORM): Allow bundler to
316
- resolve for the specific running platform and store it in the
317
- lockfile, instead of only using a generic platform. A specific
318
- platform is the exact platform triple reported by
319
- Gem::Platform.local, such as x86_64-darwin-16 or
320
- universal-java-1.8. On the other hand, generic platforms are those
321
- such as ruby, mswin, or java. In this example, x86_64-darwin-16
322
- would map to ruby and universal-java-1.8 to java.
323
-
324
- o ssl_ca_cert (BUNDLE_SSL_CA_CERT): Path to a designated CA
325
- certificate file or folder containing multiple certificates for
326
- trusted CAs in PEM format.
327
-
328
- o ssl_client_cert (BUNDLE_SSL_CLIENT_CERT): Path to a designated file
329
- containing a X.509 client certificate and key in PEM format.
330
-
331
- o ssl_verify_mode (BUNDLE_SSL_VERIFY_MODE): The SSL verification mode
332
- Bundler uses when making HTTPS requests. Defaults to verify peer.
333
-
334
- o suppress_install_using_messages
335
- (BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES): Avoid printing Using ...
336
- messages during installation when the version of a gem has not
337
- changed.
338
-
339
- o system_bindir (BUNDLE_SYSTEM_BINDIR): The location where RubyGems
340
- installs binstubs. Defaults to Gem.bindir.
341
-
342
- o timeout (BUNDLE_TIMEOUT): The seconds allowed before timing out for
343
- network requests. Defaults to 10.
344
-
345
- o unlock_source_unlocks_spec (BUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC):
346
- Whether running bundle update --source NAME unlocks a gem with the
347
- given name. Defaults to true.
348
-
349
- o update_requires_all_flag (BUNDLE_UPDATE_REQUIRES_ALL_FLAG) Require
350
- passing --all to bundle update when everything should be updated,
351
- and disallow passing no options to bundle update.
352
-
353
- o user_agent (BUNDLE_USER_AGENT): The custom user agent fragment
354
- Bundler includes in API requests.
355
-
356
- o with (BUNDLE_WITH): A :-separated list of groups whose gems bundler
357
- should install.
358
-
359
- o without (BUNDLE_WITHOUT): A :-separated list of groups whose gems
360
- bundler should not install.
361
-
362
-
363
-
364
- In general, you should set these settings per-application by using the
365
- applicable flag to the bundle install(1) bundle-install.1.html or
366
- bundle package(1) bundle-package.1.html command.
367
-
368
- You can set them globally either via environment variables or bundle
369
- config, whichever is preferable for your setup. If you use both,
370
- environment variables will take preference over global settings.
371
-
372
- LOCAL GIT REPOS
373
- Bundler also allows you to work against a git repository locally
374
- instead of using the remote version. This can be achieved by setting up
375
- a local override:
376
-
377
-
378
-
379
- bundle config set local.GEM_NAME /path/to/local/git/repository
380
-
381
-
382
-
383
- For example, in order to use a local Rack repository, a developer could
384
- call:
385
-
386
-
387
-
388
- bundle config set local.rack ~/Work/git/rack
389
-
390
-
391
-
392
- Now instead of checking out the remote git repository, the local
393
- override will be used. Similar to a path source, every time the local
394
- git repository change, changes will be automatically picked up by
395
- Bundler. This means a commit in the local git repo will update the
396
- revision in the Gemfile.lock to the local git repo revision. This
397
- requires the same attention as git submodules. Before pushing to the
398
- remote, you need to ensure the local override was pushed, otherwise you
399
- may point to a commit that only exists in your local machine. You'll
400
- also need to CGI escape your usernames and passwords as well.
401
-
402
- Bundler does many checks to ensure a developer won't work with invalid
403
- references. Particularly, we force a developer to specify a branch in
404
- the Gemfile in order to use this feature. If the branch specified in
405
- the Gemfile and the current branch in the local git repository do not
406
- match, Bundler will abort. This ensures that a developer is always
407
- working against the correct branches, and prevents accidental locking
408
- to a different branch.
409
-
410
- Finally, Bundler also ensures that the current revision in the
411
- Gemfile.lock exists in the local git repository. By doing this, Bundler
412
- forces you to fetch the latest changes in the remotes.
413
-
414
- MIRRORS OF GEM SOURCES
415
- Bundler supports overriding gem sources with mirrors. This allows you
416
- to configure rubygems.org as the gem source in your Gemfile while still
417
- using your mirror to fetch gems.
418
-
419
-
420
-
421
- bundle config set mirror.SOURCE_URL MIRROR_URL
422
-
423
-
424
-
425
- For example, to use a mirror of rubygems.org hosted at
426
- rubygems-mirror.org:
427
-
428
-
429
-
430
- bundle config set mirror.http://rubygems.org http://rubygems-mirror.org
431
-
432
-
433
-
434
- Each mirror also provides a fallback timeout setting. If the mirror
435
- does not respond within the fallback timeout, Bundler will try to use
436
- the original server instead of the mirror.
437
-
438
-
439
-
440
- bundle config set mirror.SOURCE_URL.fallback_timeout TIMEOUT
441
-
442
-
443
-
444
- For example, to fall back to rubygems.org after 3 seconds:
445
-
446
-
447
-
448
- bundle config set mirror.https://rubygems.org.fallback_timeout 3
449
-
450
-
451
-
452
- The default fallback timeout is 0.1 seconds, but the setting can
453
- currently only accept whole seconds (for example, 1, 15, or 30).
454
-
455
- CREDENTIALS FOR GEM SOURCES
456
- Bundler allows you to configure credentials for any gem source, which
457
- allows you to avoid putting secrets into your Gemfile.
458
-
459
-
460
-
461
- bundle config set SOURCE_HOSTNAME USERNAME:PASSWORD
462
-
463
-
464
-
465
- For example, to save the credentials of user claudette for the gem
466
- source at gems.longerous.com, you would run:
467
-
468
-
469
-
470
- bundle config set gems.longerous.com claudette:s00pers3krit
471
-
472
-
473
-
474
- Or you can set the credentials as an environment variable like this:
475
-
476
-
477
-
478
- export BUNDLE_GEMS__LONGEROUS__COM="claudette:s00pers3krit"
479
-
480
-
481
-
482
- For gems with a git source with HTTP(S) URL you can specify credentials
483
- like so:
484
-
485
-
486
-
487
- bundle config set https://github.com/bundler/bundler.git username:password
488
-
489
-
490
-
491
- Or you can set the credentials as an environment variable like so:
492
-
493
-
494
-
495
- export BUNDLE_GITHUB__COM=username:password
496
-
497
-
498
-
499
- This is especially useful for private repositories on hosts such as
500
- Github, where you can use personal OAuth tokens:
501
-
502
-
503
-
504
- export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x-oauth-basic
505
-
506
-
507
-
508
- CONFIGURE BUNDLER DIRECTORIES
509
- Bundler's home, config, cache and plugin directories are able to be
510
- configured through environment variables. The default location for
511
- Bundler's home directory is ~/.bundle, which all directories inherit
512
- from by default. The following outlines the available environment
513
- variables and their default values
514
-
515
-
516
-
517
- BUNDLE_USER_HOME : $HOME/.bundle
518
- BUNDLE_USER_CACHE : $BUNDLE_USER_HOME/cache
519
- BUNDLE_USER_CONFIG : $BUNDLE_USER_HOME/config
520
- BUNDLE_USER_PLUGIN : $BUNDLE_USER_HOME/plugin
521
-
522
-
523
-
524
-
525
-
526
-
527
- July 2020 BUNDLE-CONFIG(1)