bundler 2.1.4 → 2.3.12

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