bundler 1.17.2 → 2.2.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (322) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2095 -1251
  3. data/LICENSE.md +18 -19
  4. data/README.md +10 -11
  5. data/bundler.gemspec +10 -28
  6. data/exe/bundle +22 -3
  7. data/lib/bundler/build_metadata.rb +4 -12
  8. data/lib/bundler/capistrano.rb +4 -4
  9. data/lib/bundler/cli/add.rb +28 -16
  10. data/lib/bundler/cli/binstubs.rb +6 -2
  11. data/lib/bundler/cli/cache.rb +24 -17
  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 +39 -13
  15. data/lib/bundler/cli/config.rb +161 -86
  16. data/lib/bundler/cli/console.rb +1 -1
  17. data/lib/bundler/cli/doctor.rb +20 -9
  18. data/lib/bundler/cli/exec.rb +8 -25
  19. data/lib/bundler/cli/fund.rb +36 -0
  20. data/lib/bundler/cli/gem.rb +213 -32
  21. data/lib/bundler/cli/info.rb +42 -7
  22. data/lib/bundler/cli/init.rb +2 -2
  23. data/lib/bundler/cli/inject.rb +1 -1
  24. data/lib/bundler/cli/install.rb +34 -44
  25. data/lib/bundler/cli/issue.rb +8 -7
  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 +11 -8
  29. data/lib/bundler/cli/outdated.rb +142 -118
  30. data/lib/bundler/cli/plugin.rb +19 -2
  31. data/lib/bundler/cli/pristine.rb +6 -1
  32. data/lib/bundler/cli/remove.rb +1 -2
  33. data/lib/bundler/cli/show.rb +2 -2
  34. data/lib/bundler/cli/update.rb +43 -16
  35. data/lib/bundler/cli.rb +211 -150
  36. data/lib/bundler/compact_index_client/cache.rb +6 -14
  37. data/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  38. data/lib/bundler/compact_index_client/updater.rb +15 -28
  39. data/lib/bundler/compact_index_client.rb +28 -12
  40. data/lib/bundler/current_ruby.rb +14 -11
  41. data/lib/bundler/definition.rb +207 -368
  42. data/lib/bundler/dep_proxy.rb +16 -9
  43. data/lib/bundler/dependency.rb +19 -14
  44. data/lib/bundler/deployment.rb +1 -1
  45. data/lib/bundler/digest.rb +71 -0
  46. data/lib/bundler/dsl.rb +81 -81
  47. data/lib/bundler/endpoint_specification.rb +1 -1
  48. data/lib/bundler/env.rb +9 -14
  49. data/lib/bundler/environment_preserver.rb +29 -3
  50. data/lib/bundler/errors.rb +20 -3
  51. data/lib/bundler/feature_flag.rb +14 -33
  52. data/lib/bundler/fetcher/base.rb +1 -1
  53. data/lib/bundler/fetcher/compact_index.rb +28 -14
  54. data/lib/bundler/fetcher/dependency.rb +1 -1
  55. data/lib/bundler/fetcher/downloader.rb +14 -8
  56. data/lib/bundler/fetcher/index.rb +8 -8
  57. data/lib/bundler/fetcher.rb +22 -17
  58. data/lib/bundler/friendly_errors.rb +29 -48
  59. data/lib/bundler/gem_helper.rb +79 -43
  60. data/lib/bundler/gem_helpers.rb +38 -29
  61. data/lib/bundler/gem_tasks.rb +1 -1
  62. data/lib/bundler/gem_version_promoter.rb +5 -5
  63. data/lib/bundler/graph.rb +3 -3
  64. data/lib/bundler/index.rb +9 -9
  65. data/lib/bundler/injector.rb +33 -13
  66. data/lib/bundler/inline.rb +41 -30
  67. data/lib/bundler/installer/gem_installer.rb +9 -18
  68. data/lib/bundler/installer/parallel_installer.rb +50 -33
  69. data/lib/bundler/installer/standalone.rb +30 -11
  70. data/lib/bundler/installer.rb +39 -66
  71. data/lib/bundler/lazy_specification.rb +63 -28
  72. data/lib/bundler/lockfile_generator.rb +1 -1
  73. data/lib/bundler/lockfile_parser.rb +19 -52
  74. data/lib/bundler/{ssl_certs → man}/.document +0 -0
  75. data/{man → lib/bundler/man}/bundle-add.1 +10 -2
  76. data/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +7 -1
  77. data/{man → lib/bundler/man}/bundle-binstubs.1 +6 -4
  78. data/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +3 -5
  79. data/lib/bundler/man/bundle-cache.1 +55 -0
  80. data/{man/bundle-package.ronn → lib/bundler/man/bundle-cache.1.ronn} +15 -15
  81. data/{man → lib/bundler/man}/bundle-check.1 +1 -1
  82. data/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  83. data/{man → lib/bundler/man}/bundle-clean.1 +1 -1
  84. data/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
  85. data/{man → lib/bundler/man}/bundle-config.1 +59 -60
  86. data/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +77 -78
  87. data/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  88. data/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  89. data/{man → lib/bundler/man}/bundle-exec.1 +2 -2
  90. data/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +1 -1
  91. data/{man → lib/bundler/man}/bundle-gem.1 +38 -3
  92. data/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +46 -7
  93. data/{man → lib/bundler/man}/bundle-info.1 +1 -1
  94. data/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  95. data/{man → lib/bundler/man}/bundle-init.1 +2 -2
  96. data/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +1 -1
  97. data/{man → lib/bundler/man}/bundle-inject.1 +1 -1
  98. data/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
  99. data/{man → lib/bundler/man}/bundle-install.1 +37 -7
  100. data/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +34 -7
  101. data/{man → lib/bundler/man}/bundle-list.1 +7 -7
  102. data/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
  103. data/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  104. data/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  105. data/{man → lib/bundler/man}/bundle-open.1 +1 -1
  106. data/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
  107. data/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
  108. data/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
  109. data/{man → lib/bundler/man}/bundle-platform.1 +1 -1
  110. data/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
  111. data/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  112. data/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  113. data/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  114. data/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  115. data/{man → lib/bundler/man}/bundle-show.1 +1 -1
  116. data/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
  117. data/{man → lib/bundler/man}/bundle-update.1 +7 -7
  118. data/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +6 -6
  119. data/{man → lib/bundler/man}/bundle-viz.1 +1 -1
  120. data/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
  121. data/{man → lib/bundler/man}/bundle.1 +7 -3
  122. data/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +5 -2
  123. data/{man → lib/bundler/man}/gemfile.5 +44 -21
  124. data/{man → lib/bundler/man}/gemfile.5.ronn +24 -20
  125. data/{man → lib/bundler/man}/index.txt +1 -1
  126. data/lib/bundler/match_platform.rb +1 -1
  127. data/lib/bundler/mirror.rb +5 -5
  128. data/lib/bundler/plugin/api/source.rb +27 -7
  129. data/lib/bundler/plugin/api.rb +1 -1
  130. data/lib/bundler/plugin/dsl.rb +1 -1
  131. data/lib/bundler/plugin/index.rb +27 -4
  132. data/lib/bundler/plugin/installer/rubygems.rb +1 -1
  133. data/lib/bundler/plugin/installer.rb +35 -22
  134. data/lib/bundler/plugin/source_list.rb +5 -1
  135. data/lib/bundler/plugin.rb +100 -42
  136. data/lib/bundler/psyched_yaml.rb +0 -15
  137. data/lib/bundler/remote_specification.rb +5 -4
  138. data/lib/bundler/resolver/spec_group.rb +57 -53
  139. data/lib/bundler/resolver.rb +127 -113
  140. data/lib/bundler/retry.rb +4 -4
  141. data/lib/bundler/ruby_version.rb +5 -20
  142. data/lib/bundler/rubygems_ext.rb +103 -79
  143. data/lib/bundler/rubygems_gem_installer.rb +69 -8
  144. data/lib/bundler/rubygems_integration.rb +181 -446
  145. data/lib/bundler/runtime.rb +24 -34
  146. data/lib/bundler/settings.rb +159 -110
  147. data/lib/bundler/setup.rb +11 -12
  148. data/lib/bundler/shared_helpers.rb +56 -90
  149. data/lib/bundler/similarity_detector.rb +3 -3
  150. data/lib/bundler/source/git/git_proxy.rb +106 -105
  151. data/lib/bundler/source/git.rb +66 -39
  152. data/lib/bundler/source/metadata.rb +9 -9
  153. data/lib/bundler/source/path/installer.rb +10 -10
  154. data/lib/bundler/source/path.rb +23 -12
  155. data/lib/bundler/source/rubygems/remote.rb +3 -4
  156. data/lib/bundler/source/rubygems.rb +136 -120
  157. data/lib/bundler/source/rubygems_aggregate.rb +68 -0
  158. data/lib/bundler/source.rb +27 -6
  159. data/lib/bundler/source_list.rb +101 -66
  160. data/lib/bundler/source_map.rb +58 -0
  161. data/lib/bundler/spec_set.rb +49 -53
  162. data/lib/bundler/stub_specification.rb +40 -34
  163. data/lib/bundler/templates/Executable.bundler +24 -15
  164. data/lib/bundler/templates/Gemfile +1 -1
  165. data/lib/bundler/templates/gems.rb +1 -1
  166. data/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  167. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  168. data/lib/bundler/templates/newgem/Gemfile.tt +19 -2
  169. data/lib/bundler/templates/newgem/README.md.tt +7 -5
  170. data/lib/bundler/templates/newgem/Rakefile.tt +23 -5
  171. data/lib/bundler/templates/newgem/bin/console.tt +1 -0
  172. data/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  173. data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  174. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +27 -0
  175. data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  176. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  177. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  178. data/lib/bundler/templates/newgem/newgem.gemspec.tt +29 -40
  179. data/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  180. data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  181. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  182. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  183. data/lib/bundler/templates/newgem/standard.yml.tt +2 -0
  184. data/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
  185. data/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  186. data/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  187. data/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  188. data/lib/bundler/templates/newgem/travis.yml.tt +0 -1
  189. data/lib/bundler/ui/rg_proxy.rb +1 -1
  190. data/lib/bundler/ui/shell.rb +7 -11
  191. data/lib/bundler/ui.rb +3 -3
  192. data/lib/bundler/uri_credentials_filter.rb +10 -4
  193. data/lib/bundler/vendor/.document +1 -0
  194. data/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  195. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +174 -0
  196. data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  197. data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
  198. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +126 -0
  199. data/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  200. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +273 -147
  201. data/lib/bundler/vendor/molinillo/LICENSE +9 -0
  202. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
  203. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -1
  204. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -1
  205. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -1
  206. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -1
  207. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +6 -6
  208. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -1
  209. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +3 -3
  210. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +39 -11
  211. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +38 -6
  212. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +4 -4
  213. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  214. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +12 -1
  215. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +53 -51
  216. data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +2 -2
  217. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +5 -6
  218. data/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  219. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +40 -0
  220. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +53 -0
  221. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  222. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +302 -462
  223. data/lib/bundler/vendor/thor/LICENSE.md +20 -0
  224. data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -1
  225. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +3 -2
  226. data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +7 -17
  227. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +20 -9
  228. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +19 -8
  229. data/lib/bundler/vendor/thor/lib/thor/actions.rb +28 -13
  230. data/lib/bundler/vendor/thor/lib/thor/base.rb +63 -43
  231. data/lib/bundler/vendor/thor/lib/thor/command.rb +21 -14
  232. data/lib/bundler/vendor/thor/lib/thor/error.rb +78 -0
  233. data/lib/bundler/vendor/thor/lib/thor/group.rb +3 -3
  234. data/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -0
  235. data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +1 -1
  236. data/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +6 -6
  237. data/lib/bundler/vendor/thor/lib/thor/line_editor.rb +2 -2
  238. data/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  239. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +7 -3
  240. data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +20 -7
  241. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +21 -5
  242. data/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -4
  243. data/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +1 -0
  244. data/lib/bundler/vendor/thor/lib/thor/runner.rb +15 -14
  245. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +65 -8
  246. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +10 -2
  247. data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +3 -3
  248. data/lib/bundler/vendor/thor/lib/thor/shell.rb +4 -4
  249. data/lib/bundler/vendor/thor/lib/thor/util.rb +18 -2
  250. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  251. data/lib/bundler/vendor/thor/lib/thor.rb +16 -9
  252. data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
  253. data/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  254. data/lib/bundler/vendor/tsort/lib/tsort.rb +453 -0
  255. data/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  256. data/lib/bundler/vendor/uri/lib/uri/common.rb +744 -0
  257. data/lib/bundler/vendor/uri/lib/uri/file.rb +94 -0
  258. data/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  259. data/lib/bundler/vendor/uri/lib/uri/generic.rb +1568 -0
  260. data/lib/bundler/vendor/uri/lib/uri/http.rb +88 -0
  261. data/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
  262. data/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  263. data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +21 -0
  264. data/lib/bundler/vendor/uri/lib/uri/mailto.rb +294 -0
  265. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  266. data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +125 -0
  267. data/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
  268. data/lib/bundler/vendor/uri/lib/uri.rb +104 -0
  269. data/lib/bundler/vendored_fileutils.rb +1 -6
  270. data/lib/bundler/vendored_molinillo.rb +1 -1
  271. data/lib/bundler/vendored_persistent.rb +7 -12
  272. data/lib/bundler/vendored_thor.rb +2 -2
  273. data/lib/bundler/vendored_tmpdir.rb +4 -0
  274. data/lib/bundler/vendored_tsort.rb +4 -0
  275. data/lib/bundler/vendored_uri.rb +4 -0
  276. data/lib/bundler/version.rb +1 -20
  277. data/lib/bundler/version_ranges.rb +51 -5
  278. data/lib/bundler/vlad.rb +2 -2
  279. data/lib/bundler/worker.rb +21 -8
  280. data/lib/bundler/yaml_serializer.rb +3 -4
  281. data/lib/bundler.rb +248 -118
  282. metadata +115 -190
  283. data/exe/bundle_ruby +0 -60
  284. data/lib/bundler/cli/package.rb +0 -49
  285. data/lib/bundler/compatibility_guard.rb +0 -14
  286. data/lib/bundler/gem_remote_fetcher.rb +0 -43
  287. data/lib/bundler/ssl_certs/certificate_manager.rb +0 -66
  288. data/lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +0 -21
  289. data/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  290. data/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  291. data/lib/bundler/templates/newgem/test/test_helper.rb.tt +0 -4
  292. data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  293. data/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb +0 -27
  294. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb +0 -129
  295. data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +0 -12
  296. data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +0 -129
  297. data/man/bundle-add.1.txt +0 -52
  298. data/man/bundle-binstubs.1.txt +0 -48
  299. data/man/bundle-check.1.txt +0 -33
  300. data/man/bundle-clean.1.txt +0 -26
  301. data/man/bundle-config.1.txt +0 -529
  302. data/man/bundle-doctor.1.txt +0 -44
  303. data/man/bundle-exec.1.txt +0 -178
  304. data/man/bundle-gem.1.txt +0 -91
  305. data/man/bundle-info.1.txt +0 -21
  306. data/man/bundle-init.1.txt +0 -34
  307. data/man/bundle-inject.1.txt +0 -32
  308. data/man/bundle-install.1.txt +0 -396
  309. data/man/bundle-list.1.txt +0 -43
  310. data/man/bundle-lock.1.txt +0 -93
  311. data/man/bundle-open.1.txt +0 -29
  312. data/man/bundle-outdated.1.txt +0 -131
  313. data/man/bundle-package.1 +0 -55
  314. data/man/bundle-package.1.txt +0 -79
  315. data/man/bundle-platform.1.txt +0 -57
  316. data/man/bundle-pristine.1.txt +0 -44
  317. data/man/bundle-remove.1.txt +0 -34
  318. data/man/bundle-show.1.txt +0 -27
  319. data/man/bundle-update.1.txt +0 -391
  320. data/man/bundle-viz.1.txt +0 -39
  321. data/man/bundle.1.txt +0 -113
  322. data/man/gemfile.5.txt +0 -653
@@ -1,13 +1,13 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CONFIG" "1" "December 2018" "" ""
4
+ .TH "BUNDLE\-CONFIG" "1" "December 2021" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-config\fR \- Set bundler configuration options
8
8
  .
9
9
  .SH "SYNOPSIS"
10
- \fBbundle config\fR [\fIname\fR [\fIvalue\fR]]
10
+ \fBbundle config\fR [list|get|set|unset] [\fIname\fR [\fIvalue\fR]]
11
11
  .
12
12
  .SH "DESCRIPTION"
13
13
  This command allows you to interact with Bundler\'s configuration system\.
@@ -16,7 +16,7 @@ This command allows you to interact with Bundler\'s configuration system\.
16
16
  Bundler loads configuration settings in this order:
17
17
  .
18
18
  .IP "1." 4
19
- Local config (\fBapp/\.bundle/config\fR)
19
+ Local config (\fB<project_root>/\.bundle/config\fR or \fB$BUNDLE_APP_CONFIG/config\fR)
20
20
  .
21
21
  .IP "2." 4
22
22
  Environmental variables (\fBENV\fR)
@@ -30,31 +30,37 @@ Bundler default config
30
30
  .IP "" 0
31
31
  .
32
32
  .P
33
- Executing \fBbundle config\fR with no parameters will print a list of all bundler configuration for the current bundle, and where that configuration was set\.
33
+ Executing \fBbundle config list\fR with will print a list of all bundler configuration for the current bundle, and where that configuration was set\.
34
34
  .
35
35
  .P
36
- Executing \fBbundle config <name>\fR will print the value of that configuration setting, and where it was set\.
36
+ Executing \fBbundle config get <name>\fR will print the value of that configuration setting, and where it was set\.
37
37
  .
38
38
  .P
39
- Executing \fBbundle config <name> <value>\fR will set that configuration to the value specified for all bundles executed as the current user\. The configuration will be stored in \fB~/\.bundle/config\fR\. If \fIname\fR already is set, \fIname\fR will be overridden and user will be warned\.
39
+ Executing \fBbundle config set <name> <value>\fR will set that configuration to the value specified for all bundles executed as the current user\. The configuration will be stored in \fB~/\.bundle/config\fR\. If \fIname\fR already is set, \fIname\fR will be overridden and user will be warned\.
40
40
  .
41
41
  .P
42
- Executing \fBbundle config \-\-global <name> <value>\fR works the same as above\.
42
+ Executing \fBbundle config set \-\-global <name> <value>\fR works the same as above\.
43
43
  .
44
44
  .P
45
- Executing \fBbundle config \-\-local <name> <value>\fR will set that configuration to the local application\. The configuration will be stored in \fBapp/\.bundle/config\fR\.
45
+ Executing \fBbundle config set \-\-local <name> <value>\fR will set that configuration in the directory for the local application\. The configuration will be stored in \fB<project_root>/\.bundle/config\fR\. If \fBBUNDLE_APP_CONFIG\fR is set, the configuration will be stored in \fB$BUNDLE_APP_CONFIG/config\fR\.
46
46
  .
47
47
  .P
48
- Executing \fBbundle config \-\-delete <name>\fR will delete the configuration in both local and global sources\. Not compatible with \-\-global or \-\-local flag\.
48
+ Executing \fBbundle config unset <name>\fR will delete the configuration in both local and global sources\.
49
49
  .
50
50
  .P
51
- Executing bundle with the \fBBUNDLE_IGNORE_CONFIG\fR environment variable set will cause it to ignore all configuration\.
51
+ Executing \fBbundle config unset \-\-global <name>\fR will delete the configuration only from the user configuration\.
52
52
  .
53
53
  .P
54
- Executing \fBbundle config disable_multisource true\fR upgrades the warning about the Gemfile containing multiple primary sources to an error\. Executing \fBbundle config \-\-delete disable_multisource\fR downgrades this error to a warning\.
54
+ Executing \fBbundle config unset \-\-local <name> <value>\fR will delete the configuration only from the local application\.
55
+ .
56
+ .P
57
+ Executing bundle with the \fBBUNDLE_IGNORE_CONFIG\fR environment variable set will cause it to ignore all configuration\.
55
58
  .
56
59
  .SH "REMEMBERING OPTIONS"
57
- Flags passed to \fBbundle install\fR or the Bundler runtime, such as \fB\-\-path foo\fR or \fB\-\-without production\fR, are not remembered between commands\. If these options must be remembered,they must be set using \fBbundle config\fR (e\.g\., \fBbundle config path foo\fR)\.
60
+ Flags passed to \fBbundle install\fR or the Bundler runtime, such as \fB\-\-path foo\fR or \fB\-\-without production\fR, are remembered between commands and saved to your local application\'s configuration (normally, \fB\./\.bundle/config\fR)\.
61
+ .
62
+ .P
63
+ However, this will be changed in bundler 3, so it\'s better not to rely on this behavior\. If these options must be remembered, it\'s better to set them using \fBbundle config\fR (e\.g\., \fBbundle config set \-\-local path foo\fR)\.
58
64
  .
59
65
  .P
60
66
  The options that can be configured are:
@@ -102,7 +108,7 @@ Since the specific location of that executable can change from machine to machin
102
108
  .
103
109
  .nf
104
110
 
105
- bundle config build\.mysql \-\-with\-mysql\-config=/usr/local/mysql/bin/mysql_config
111
+ bundle config set \-\-global build\.mysql \-\-with\-mysql\-config=/usr/local/mysql/bin/mysql_config
106
112
  .
107
113
  .fi
108
114
  .
@@ -127,9 +133,6 @@ Any periods in the configuration keys must be replaced with two underscores when
127
133
  The following is a list of all configuration keys and their purpose\. You can learn more about their operation in bundle install(1) \fIbundle\-install\.1\.html\fR\.
128
134
  .
129
135
  .IP "\(bu" 4
130
- \fBallow_bundler_dependency_conflicts\fR (\fBBUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS\fR): Allow resolving to specifications that have dependencies on \fBbundler\fR that are incompatible with the running Bundler version\.
131
- .
132
- .IP "\(bu" 4
133
136
  \fBallow_deployment_source_credential_changes\fR (\fBBUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES\fR): When in deployment mode, allow changing the credentials to a gem\'s source\. Ex: \fBhttps://some\.host\.com/gems/path/\fR \-> \fBhttps://user_name:password@some\.host\.com/gems/path\fR
134
137
  .
135
138
  .IP "\(bu" 4
@@ -145,13 +148,13 @@ The following is a list of all configuration keys and their purpose\. You can le
145
148
  \fBbin\fR (\fBBUNDLE_BIN\fR): Install executables from gems in the bundle to the specified directory\. Defaults to \fBfalse\fR\.
146
149
  .
147
150
  .IP "\(bu" 4
148
- \fBcache_all\fR (\fBBUNDLE_CACHE_ALL\fR): Cache all gems, including path and git gems\.
151
+ \fBcache_all\fR (\fBBUNDLE_CACHE_ALL\fR): Cache all gems, including path and git gems\. This needs to be explicitly configured on bundler 1 and bundler 2, but will be the default on bundler 3\.
149
152
  .
150
153
  .IP "\(bu" 4
151
154
  \fBcache_all_platforms\fR (\fBBUNDLE_CACHE_ALL_PLATFORMS\fR): Cache gems for all platforms\.
152
155
  .
153
156
  .IP "\(bu" 4
154
- \fBcache_path\fR (\fBBUNDLE_CACHE_PATH\fR): The directory that bundler will place cached gems in when running \fBbundle package\fR, and that bundler will look in when installing gems\. Defaults to \fBvendor/bundle\fR\.
157
+ \fBcache_path\fR (\fBBUNDLE_CACHE_PATH\fR): The directory that bundler will place cached gems in when running \fBbundle package\fR, and that bundler will look in when installing gems\. Defaults to \fBvendor/cache\fR\.
155
158
  .
156
159
  .IP "\(bu" 4
157
160
  \fBclean\fR (\fBBUNDLE_CLEAN\fR): Whether Bundler should run \fBbundle clean\fR automatically after \fBbundle install\fR\.
@@ -175,10 +178,7 @@ The following is a list of all configuration keys and their purpose\. You can le
175
178
  \fBdisable_local_branch_check\fR (\fBBUNDLE_DISABLE_LOCAL_BRANCH_CHECK\fR): Allow Bundler to use a local git override without a branch specified in the Gemfile\.
176
179
  .
177
180
  .IP "\(bu" 4
178
- \fBdisable_multisource\fR (\fBBUNDLE_DISABLE_MULTISOURCE\fR): When set, Gemfiles containing multiple sources will produce errors instead of warnings\. Use \fBbundle config \-\-delete disable_multisource\fR to unset\.
179
- .
180
- .IP "\(bu" 4
181
- \fBdisable_platform_warnings\fR (\fBBUNDLE_DISABLE_PLATFORM_WARNINGS\fR): Disable warnings during bundle install when a dependency is unused on the current platform\.
181
+ \fBdisable_local_revision_check\fR (\fBBUNDLE_DISABLE_LOCAL_REVISION_CHECK\fR): Allow Bundler to use a local git override without checking if the revision present in the lockfile is present in the repository\.
182
182
  .
183
183
  .IP "\(bu" 4
184
184
  \fBdisable_shared_gems\fR (\fBBUNDLE_DISABLE_SHARED_GEMS\fR): Stop Bundler from accessing gems installed to RubyGems\' normal location\.
@@ -187,15 +187,15 @@ The following is a list of all configuration keys and their purpose\. You can le
187
187
  \fBdisable_version_check\fR (\fBBUNDLE_DISABLE_VERSION_CHECK\fR): Stop Bundler from checking if a newer Bundler version is available on rubygems\.org\.
188
188
  .
189
189
  .IP "\(bu" 4
190
- \fBerror_on_stderr\fR (\fBBUNDLE_ERROR_ON_STDERR\fR): Print Bundler errors to stderr\.
191
- .
192
- .IP "\(bu" 4
193
190
  \fBforce_ruby_platform\fR (\fBBUNDLE_FORCE_RUBY_PLATFORM\fR): Ignore the current machine\'s platform and install only \fBruby\fR platform gems\. As a result, gems with native extensions will be compiled from source\.
194
191
  .
195
192
  .IP "\(bu" 4
196
193
  \fBfrozen\fR (\fBBUNDLE_FROZEN\fR): Disallow changes to the \fBGemfile\fR\. When the \fBGemfile\fR is changed and the lockfile has not been updated, running Bundler commands will be blocked\. Defaults to \fBtrue\fR when \fB\-\-deployment\fR is used\.
197
194
  .
198
195
  .IP "\(bu" 4
196
+ \fBgem\.github_username\fR (\fBBUNDLE_GEM__GITHUB_USERNAME\fR): Sets a GitHub username or organization to be used in \fBREADME\fR file when you create a new gem via \fBbundle gem\fR command\. It can be overridden by passing an explicit \fB\-\-github\-username\fR flag to \fBbundle gem\fR\.
197
+ .
198
+ .IP "\(bu" 4
199
199
  \fBgem\.push_key\fR (\fBBUNDLE_GEM__PUSH_KEY\fR): Sets the \fB\-\-key\fR parameter for \fBgem push\fR when using the \fBrake release\fR command with a private gemstash server\.
200
200
  .
201
201
  .IP "\(bu" 4
@@ -205,22 +205,13 @@ The following is a list of all configuration keys and their purpose\. You can le
205
205
  \fBglobal_gem_cache\fR (\fBBUNDLE_GLOBAL_GEM_CACHE\fR): Whether Bundler should cache all gems globally, rather than locally to the installing Ruby installation\.
206
206
  .
207
207
  .IP "\(bu" 4
208
- \fBglobal_path_appends_ruby_scope\fR (\fBBUNDLE_GLOBAL_PATH_APPENDS_RUBY_SCOPE\fR): Whether Bundler should append the Ruby scope (e\.g\. engine and ABI version) to a globally\-configured path\.
209
- .
210
- .IP "\(bu" 4
211
208
  \fBignore_messages\fR (\fBBUNDLE_IGNORE_MESSAGES\fR): When set, no post install messages will be printed\. To silence a single gem, use dot notation like \fBignore_messages\.httparty true\fR\.
212
209
  .
213
210
  .IP "\(bu" 4
214
- \fBinit_gems_rb\fR (\fBBUNDLE_INIT_GEMS_RB\fR) Generate a \fBgems\.rb\fR instead of a \fBGemfile\fR when running \fBbundle init\fR\.
215
- .
216
- .IP "\(bu" 4
217
- \fBjobs\fR (\fBBUNDLE_JOBS\fR): The number of gems Bundler can install in parallel\. Defaults to 1\.
218
- .
219
- .IP "\(bu" 4
220
- \fBlist_command\fR (\fBBUNDLE_LIST_COMMAND\fR) Enable new list command feature
211
+ \fBinit_gems_rb\fR (\fBBUNDLE_INIT_GEMS_RB\fR): Generate a \fBgems\.rb\fR instead of a \fBGemfile\fR when running \fBbundle init\fR\.
221
212
  .
222
213
  .IP "\(bu" 4
223
- \fBmajor_deprecations\fR (\fBBUNDLE_MAJOR_DEPRECATIONS\fR): Whether Bundler should print deprecation warnings for behavior that will be changed in the next major version\.
214
+ \fBjobs\fR (\fBBUNDLE_JOBS\fR): The number of gems Bundler can install in parallel\. Defaults to 1 on Windows, and to the the number of processors on other platforms\.
224
215
  .
225
216
  .IP "\(bu" 4
226
217
  \fBno_install\fR (\fBBUNDLE_NO_INSTALL\fR): Whether \fBbundle package\fR should skip installing gems\.
@@ -229,25 +220,22 @@ The following is a list of all configuration keys and their purpose\. You can le
229
220
  \fBno_prune\fR (\fBBUNDLE_NO_PRUNE\fR): Whether Bundler should leave outdated gems unpruned when caching\.
230
221
  .
231
222
  .IP "\(bu" 4
232
- \fBonly_update_to_newer_versions\fR (\fBBUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS\fR): During \fBbundle update\fR, only resolve to newer versions of the gems in the lockfile\.
233
- .
234
- .IP "\(bu" 4
235
223
  \fBpath\fR (\fBBUNDLE_PATH\fR): The location on disk where all gems in your bundle will be located regardless of \fB$GEM_HOME\fR or \fB$GEM_PATH\fR values\. Bundle gems not found in this location will be installed by \fBbundle install\fR\. Defaults to \fBGem\.dir\fR\. When \-\-deployment is used, defaults to vendor/bundle\.
236
224
  .
237
225
  .IP "\(bu" 4
238
226
  \fBpath\.system\fR (\fBBUNDLE_PATH__SYSTEM\fR): Whether Bundler will install gems into the default system path (\fBGem\.dir\fR)\.
239
227
  .
240
228
  .IP "\(bu" 4
241
- \fBpath_relative_to_cwd\fR (\fBPATH_RELATIVE_TO_CWD\fR) Makes \fB\-\-path\fR relative to the CWD instead of the \fBGemfile\fR\.
229
+ \fBpath_relative_to_cwd\fR (\fBBUNDLE_PATH_RELATIVE_TO_CWD\fR) Makes \fB\-\-path\fR relative to the CWD instead of the \fBGemfile\fR\.
242
230
  .
243
231
  .IP "\(bu" 4
244
232
  \fBplugins\fR (\fBBUNDLE_PLUGINS\fR): Enable Bundler\'s experimental plugin system\.
245
233
  .
246
234
  .IP "\(bu" 4
247
- \fBprefer_gems_rb\fR (\fBBUNDLE_PREFER_GEMS_RB\fR) Prefer \fBgems\.rb\fR to \fBGemfile\fR when Bundler is searching for a Gemfile\.
235
+ \fBprefer_patch\fR (BUNDLE_PREFER_PATCH): Prefer updating only to next patch version during updates\. Makes \fBbundle update\fR calls equivalent to \fBbundler update \-\-patch\fR\.
248
236
  .
249
237
  .IP "\(bu" 4
250
- \fBprint_only_version_number\fR (\fBBUNDLE_PRINT_ONLY_VERSION_NUMBER\fR) Print only version number from \fBbundler \-\-version\fR\.
238
+ \fBprint_only_version_number\fR (\fBBUNDLE_PRINT_ONLY_VERSION_NUMBER\fR): Print only version number from \fBbundler \-\-version\fR\.
251
239
  .
252
240
  .IP "\(bu" 4
253
241
  \fBredirect\fR (\fBBUNDLE_REDIRECT\fR): The number of redirects allowed for network requests\. Defaults to \fB5\fR\.
@@ -262,13 +250,10 @@ The following is a list of all configuration keys and their purpose\. You can le
262
250
  \fBshebang\fR (\fBBUNDLE_SHEBANG\fR): The program name that should be invoked for generated binstubs\. Defaults to the ruby install name used to generate the binstub\.
263
251
  .
264
252
  .IP "\(bu" 4
265
- \fBsilence_root_warning\fR (\fBBUNDLE_SILENCE_ROOT_WARNING\fR): Silence the warning Bundler prints when installing gems as root\.
266
- .
267
- .IP "\(bu" 4
268
- \fBskip_default_git_sources\fR (\fBBUNDLE_SKIP_DEFAULT_GIT_SOURCES\fR): Whether Bundler should skip adding default git source shortcuts to the Gemfile DSL\.
253
+ \fBsilence_deprecations\fR (\fBBUNDLE_SILENCE_DEPRECATIONS\fR): Whether Bundler should silence deprecation warnings for behavior that will be changed in the next major version\.
269
254
  .
270
255
  .IP "\(bu" 4
271
- \fBspecific_platform\fR (\fBBUNDLE_SPECIFIC_PLATFORM\fR): Allow bundler to resolve for the specific running platform and store it in the lockfile, instead of only using a generic platform\. A specific platform is the exact platform triple reported by \fBGem::Platform\.local\fR, such as \fBx86_64\-darwin\-16\fR or \fBuniversal\-java\-1\.8\fR\. On the other hand, generic platforms are those such as \fBruby\fR, \fBmswin\fR, or \fBjava\fR\. In this example, \fBx86_64\-darwin\-16\fR would map to \fBruby\fR and \fBuniversal\-java\-1\.8\fR to \fBjava\fR\.
256
+ \fBsilence_root_warning\fR (\fBBUNDLE_SILENCE_ROOT_WARNING\fR): Silence the warning Bundler prints when installing gems as root\.
272
257
  .
273
258
  .IP "\(bu" 4
274
259
  \fBssl_ca_cert\fR (\fBBUNDLE_SSL_CA_CERT\fR): Path to a designated CA certificate file or folder containing multiple certificates for trusted CAs in PEM format\.
@@ -289,10 +274,7 @@ The following is a list of all configuration keys and their purpose\. You can le
289
274
  \fBtimeout\fR (\fBBUNDLE_TIMEOUT\fR): The seconds allowed before timing out for network requests\. Defaults to \fB10\fR\.
290
275
  .
291
276
  .IP "\(bu" 4
292
- \fBunlock_source_unlocks_spec\fR (\fBBUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC\fR): Whether running \fBbundle update \-\-source NAME\fR unlocks a gem with the given name\. Defaults to \fBtrue\fR\.
293
- .
294
- .IP "\(bu" 4
295
- \fBupdate_requires_all_flag\fR (\fBBUNDLE_UPDATE_REQUIRES_ALL_FLAG\fR) Require passing \fB\-\-all\fR to \fBbundle update\fR when everything should be updated, and disallow passing no options to \fBbundle update\fR\.
277
+ \fBupdate_requires_all_flag\fR (\fBBUNDLE_UPDATE_REQUIRES_ALL_FLAG\fR): Require passing \fB\-\-all\fR to \fBbundle update\fR when everything should be updated, and disallow passing no options to \fBbundle update\fR\.
296
278
  .
297
279
  .IP "\(bu" 4
298
280
  \fBuser_agent\fR (\fBBUNDLE_USER_AGENT\fR): The custom user agent fragment Bundler includes in API requests\.
@@ -318,7 +300,7 @@ Bundler also allows you to work against a git repository locally instead of usin
318
300
  .
319
301
  .nf
320
302
 
321
- bundle config local\.GEM_NAME /path/to/local/git/repository
303
+ bundle config set \-\-local local\.GEM_NAME /path/to/local/git/repository
322
304
  .
323
305
  .fi
324
306
  .
@@ -331,7 +313,7 @@ For example, in order to use a local Rack repository, a developer could call:
331
313
  .
332
314
  .nf
333
315
 
334
- bundle config local\.rack ~/Work/git/rack
316
+ bundle config set \-\-local local\.rack ~/Work/git/rack
335
317
  .
336
318
  .fi
337
319
  .
@@ -353,7 +335,7 @@ Bundler supports overriding gem sources with mirrors\. This allows you to config
353
335
  .
354
336
  .nf
355
337
 
356
- bundle config mirror\.SOURCE_URL MIRROR_URL
338
+ bundle config set \-\-global mirror\.SOURCE_URL MIRROR_URL
357
339
  .
358
340
  .fi
359
341
  .
@@ -366,7 +348,7 @@ For example, to use a mirror of rubygems\.org hosted at rubygems\-mirror\.org:
366
348
  .
367
349
  .nf
368
350
 
369
- bundle config mirror\.http://rubygems\.org http://rubygems\-mirror\.org
351
+ bundle config set \-\-global mirror\.http://rubygems\.org http://rubygems\-mirror\.org
370
352
  .
371
353
  .fi
372
354
  .
@@ -379,7 +361,7 @@ Each mirror also provides a fallback timeout setting\. If the mirror does not re
379
361
  .
380
362
  .nf
381
363
 
382
- bundle config mirror\.SOURCE_URL\.fallback_timeout TIMEOUT
364
+ bundle config set \-\-global mirror\.SOURCE_URL\.fallback_timeout TIMEOUT
383
365
  .
384
366
  .fi
385
367
  .
@@ -392,7 +374,7 @@ For example, to fall back to rubygems\.org after 3 seconds:
392
374
  .
393
375
  .nf
394
376
 
395
- bundle config mirror\.https://rubygems\.org\.fallback_timeout 3
377
+ bundle config set \-\-global mirror\.https://rubygems\.org\.fallback_timeout 3
396
378
  .
397
379
  .fi
398
380
  .
@@ -408,7 +390,7 @@ Bundler allows you to configure credentials for any gem source, which allows you
408
390
  .
409
391
  .nf
410
392
 
411
- bundle config SOURCE_HOSTNAME USERNAME:PASSWORD
393
+ bundle config set \-\-global SOURCE_HOSTNAME USERNAME:PASSWORD
412
394
  .
413
395
  .fi
414
396
  .
@@ -421,7 +403,7 @@ For example, to save the credentials of user \fBclaudette\fR for the gem source
421
403
  .
422
404
  .nf
423
405
 
424
- bundle config gems\.longerous\.com claudette:s00pers3krit
406
+ bundle config set \-\-global gems\.longerous\.com claudette:s00pers3krit
425
407
  .
426
408
  .fi
427
409
  .
@@ -447,7 +429,7 @@ For gems with a git source with HTTP(S) URL you can specify credentials like so:
447
429
  .
448
430
  .nf
449
431
 
450
- bundle config https://github\.com/bundler/bundler\.git username:password
432
+ bundle config set \-\-global https://github\.com/rubygems/rubygems\.git username:password
451
433
  .
452
434
  .fi
453
435
  .
@@ -479,6 +461,23 @@ export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x\-oauth\-basic
479
461
  .
480
462
  .IP "" 0
481
463
  .
464
+ .P
465
+ Note that any configured credentials will be redacted by informative commands such as \fBbundle config list\fR or \fBbundle config get\fR, unless you use the \fB\-\-parseable\fR flag\. This is to avoid unintentionally leaking credentials when copy\-pasting bundler output\.
466
+ .
467
+ .P
468
+ Also note that to guarantee a sane mapping between valid environment variable names and valid host names, bundler makes the following transformations:
469
+ .
470
+ .IP "\(bu" 4
471
+ Any \fB\-\fR characters in a host name are mapped to a triple dash (\fB___\fR) in the corresponding environment variable\.
472
+ .
473
+ .IP "\(bu" 4
474
+ Any \fB\.\fR characters in a host name are mapped to a double dash (\fB__\fR) in the corresponding environment variable\.
475
+ .
476
+ .IP "" 0
477
+ .
478
+ .P
479
+ This means that if you have a gem server named \fBmy\.gem\-host\.com\fR, you\'ll need to use the \fBBUNDLE_MY__GEM___HOST__COM\fR variable to configure credentials for it through ENV\.
480
+ .
482
481
  .SH "CONFIGURE BUNDLER DIRECTORIES"
483
482
  Bundler\'s home, config, cache and plugin directories are able to be configured through environment variables\. The default location for Bundler\'s home directory is \fB~/\.bundle\fR, which all directories inherit from by default\. The following outlines the available environment variables and their default values
484
483
  .
@@ -3,7 +3,7 @@ bundle-config(1) -- Set bundler configuration options
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle config` [<name> [<value>]]
6
+ `bundle config` [list|get|set|unset] [<name> [<value>]]
7
7
 
8
8
  ## DESCRIPTION
9
9
 
@@ -11,44 +11,51 @@ This command allows you to interact with Bundler's configuration system.
11
11
 
12
12
  Bundler loads configuration settings in this order:
13
13
 
14
- 1. Local config (`app/.bundle/config`)
14
+ 1. Local config (`<project_root>/.bundle/config` or `$BUNDLE_APP_CONFIG/config`)
15
15
  2. Environmental variables (`ENV`)
16
16
  3. Global config (`~/.bundle/config`)
17
17
  4. Bundler default config
18
18
 
19
- Executing `bundle config` with no parameters will print a list of all
20
- bundler configuration for the current bundle, and where that configuration
19
+ Executing `bundle config list` with will print a list of all bundler
20
+ configuration for the current bundle, and where that configuration
21
21
  was set.
22
22
 
23
- Executing `bundle config <name>` will print the value of that configuration
23
+ Executing `bundle config get <name>` will print the value of that configuration
24
24
  setting, and where it was set.
25
25
 
26
- Executing `bundle config <name> <value>` will set that configuration to the
26
+ Executing `bundle config set <name> <value>` will set that configuration to the
27
27
  value specified for all bundles executed as the current user. The configuration
28
28
  will be stored in `~/.bundle/config`. If <name> already is set, <name> will be
29
29
  overridden and user will be warned.
30
30
 
31
- Executing `bundle config --global <name> <value>` works the same as above.
31
+ Executing `bundle config set --global <name> <value>` works the same as above.
32
32
 
33
- Executing `bundle config --local <name> <value>` will set that configuration to
34
- the local application. The configuration will be stored in `app/.bundle/config`.
33
+ Executing `bundle config set --local <name> <value>` will set that configuration
34
+ in the directory for the local application. The configuration will be stored in
35
+ `<project_root>/.bundle/config`. If `BUNDLE_APP_CONFIG` is set, the configuration
36
+ will be stored in `$BUNDLE_APP_CONFIG/config`.
35
37
 
36
- Executing `bundle config --delete <name>` will delete the configuration in both
37
- local and global sources. Not compatible with --global or --local flag.
38
+ Executing `bundle config unset <name>` will delete the configuration in both
39
+ local and global sources.
40
+
41
+ Executing `bundle config unset --global <name>` will delete the configuration
42
+ only from the user configuration.
43
+
44
+ Executing `bundle config unset --local <name> <value>` will delete the
45
+ configuration only from the local application.
38
46
 
39
47
  Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
40
48
  cause it to ignore all configuration.
41
49
 
42
- Executing `bundle config disable_multisource true` upgrades the warning about
43
- the Gemfile containing multiple primary sources to an error. Executing `bundle
44
- config --delete disable_multisource` downgrades this error to a warning.
45
-
46
50
  ## REMEMBERING OPTIONS
47
51
 
48
- Flags passed to `bundle install` or the Bundler runtime,
49
- such as `--path foo` or `--without production`, are not remembered between commands.
50
- If these options must be remembered,they must be set using `bundle config`
51
- (e.g., `bundle config path foo`).
52
+ Flags passed to `bundle install` or the Bundler runtime, such as `--path foo` or
53
+ `--without production`, are remembered between commands and saved to your local
54
+ application's configuration (normally, `./.bundle/config`).
55
+
56
+ However, this will be changed in bundler 3, so it's better not to rely on this
57
+ behavior. If these options must be remembered, it's better to set them using
58
+ `bundle config` (e.g., `bundle config set --local path foo`).
52
59
 
53
60
  The options that can be configured are:
54
61
 
@@ -92,7 +99,7 @@ pass configuration flags to `gem install` to specify where to find the
92
99
  Since the specific location of that executable can change from machine
93
100
  to machine, you can specify these flags on a per-machine basis.
94
101
 
95
- bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
102
+ bundle config set --global build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
96
103
 
97
104
  After running this command, every time bundler needs to install the
98
105
  `mysql` gem, it will pass along the flags you specified.
@@ -122,9 +129,6 @@ the environment variable `BUNDLE_LOCAL__RACK`.
122
129
  The following is a list of all configuration keys and their purpose. You can
123
130
  learn more about their operation in [bundle install(1)](bundle-install.1.html).
124
131
 
125
- * `allow_bundler_dependency_conflicts` (`BUNDLE_ALLOW_BUNDLER_DEPENDENCY_CONFLICTS`):
126
- Allow resolving to specifications that have dependencies on `bundler` that
127
- are incompatible with the running Bundler version.
128
132
  * `allow_deployment_source_credential_changes` (`BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES`):
129
133
  When in deployment mode, allow changing the credentials to a gem's source.
130
134
  Ex: `https://some.host.com/gems/path/` -> `https://user_name:password@some.host.com/gems/path`
@@ -139,13 +143,14 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
139
143
  Install executables from gems in the bundle to the specified directory.
140
144
  Defaults to `false`.
141
145
  * `cache_all` (`BUNDLE_CACHE_ALL`):
142
- Cache all gems, including path and git gems.
146
+ Cache all gems, including path and git gems. This needs to be explicitly
147
+ configured on bundler 1 and bundler 2, but will be the default on bundler 3.
143
148
  * `cache_all_platforms` (`BUNDLE_CACHE_ALL_PLATFORMS`):
144
149
  Cache gems for all platforms.
145
150
  * `cache_path` (`BUNDLE_CACHE_PATH`):
146
151
  The directory that bundler will place cached gems in when running
147
152
  <code>bundle package</code>, and that bundler will look in when installing gems.
148
- Defaults to `vendor/bundle`.
153
+ Defaults to `vendor/cache`.
149
154
  * `clean` (`BUNDLE_CLEAN`):
150
155
  Whether Bundler should run `bundle clean` automatically after
151
156
  `bundle install`.
@@ -166,19 +171,14 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
166
171
  * `disable_local_branch_check` (`BUNDLE_DISABLE_LOCAL_BRANCH_CHECK`):
167
172
  Allow Bundler to use a local git override without a branch specified in the
168
173
  Gemfile.
169
- * `disable_multisource` (`BUNDLE_DISABLE_MULTISOURCE`):
170
- When set, Gemfiles containing multiple sources will produce errors
171
- instead of warnings.
172
- Use `bundle config --delete disable_multisource` to unset.
173
- * `disable_platform_warnings` (`BUNDLE_DISABLE_PLATFORM_WARNINGS`):
174
- Disable warnings during bundle install when a dependency is unused on the current platform.
174
+ * `disable_local_revision_check` (`BUNDLE_DISABLE_LOCAL_REVISION_CHECK`):
175
+ Allow Bundler to use a local git override without checking if the revision
176
+ present in the lockfile is present in the repository.
175
177
  * `disable_shared_gems` (`BUNDLE_DISABLE_SHARED_GEMS`):
176
178
  Stop Bundler from accessing gems installed to RubyGems' normal location.
177
179
  * `disable_version_check` (`BUNDLE_DISABLE_VERSION_CHECK`):
178
180
  Stop Bundler from checking if a newer Bundler version is available on
179
181
  rubygems.org.
180
- * `error_on_stderr` (`BUNDLE_ERROR_ON_STDERR`):
181
- Print Bundler errors to stderr.
182
182
  * `force_ruby_platform` (`BUNDLE_FORCE_RUBY_PLATFORM`):
183
183
  Ignore the current machine's platform and install only `ruby` platform gems.
184
184
  As a result, gems with native extensions will be compiled from source.
@@ -186,6 +186,10 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
186
186
  Disallow changes to the `Gemfile`. When the `Gemfile` is changed and the
187
187
  lockfile has not been updated, running Bundler commands will be blocked.
188
188
  Defaults to `true` when `--deployment` is used.
189
+ * `gem.github_username` (`BUNDLE_GEM__GITHUB_USERNAME`):
190
+ Sets a GitHub username or organization to be used in `README` file when you
191
+ create a new gem via `bundle gem` command. It can be overridden by passing an
192
+ explicit `--github-username` flag to `bundle gem`.
189
193
  * `gem.push_key` (`BUNDLE_GEM__PUSH_KEY`):
190
194
  Sets the `--key` parameter for `gem push` when using the `rake release`
191
195
  command with a private gemstash server.
@@ -198,28 +202,18 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
198
202
  * `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
199
203
  Whether Bundler should cache all gems globally, rather than locally to the
200
204
  installing Ruby installation.
201
- * `global_path_appends_ruby_scope` (`BUNDLE_GLOBAL_PATH_APPENDS_RUBY_SCOPE`):
202
- Whether Bundler should append the Ruby scope (e.g. engine and ABI version)
203
- to a globally-configured path.
204
- * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`): When set, no post install
205
- messages will be printed. To silence a single gem, use dot notation like
206
- `ignore_messages.httparty true`.
207
- * `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`)
205
+ * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
206
+ When set, no post install messages will be printed. To silence a single gem,
207
+ use dot notation like `ignore_messages.httparty true`.
208
+ * `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`):
208
209
  Generate a `gems.rb` instead of a `Gemfile` when running `bundle init`.
209
210
  * `jobs` (`BUNDLE_JOBS`):
210
- The number of gems Bundler can install in parallel. Defaults to 1.
211
- * `list_command` (`BUNDLE_LIST_COMMAND`)
212
- Enable new list command feature
213
- * `major_deprecations` (`BUNDLE_MAJOR_DEPRECATIONS`):
214
- Whether Bundler should print deprecation warnings for behavior that will
215
- be changed in the next major version.
211
+ The number of gems Bundler can install in parallel. Defaults to 1 on Windows,
212
+ and to the the number of processors on other platforms.
216
213
  * `no_install` (`BUNDLE_NO_INSTALL`):
217
214
  Whether `bundle package` should skip installing gems.
218
215
  * `no_prune` (`BUNDLE_NO_PRUNE`):
219
216
  Whether Bundler should leave outdated gems unpruned when caching.
220
- * `only_update_to_newer_versions` (`BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS`):
221
- During `bundle update`, only resolve to newer versions of the gems in the
222
- lockfile.
223
217
  * `path` (`BUNDLE_PATH`):
224
218
  The location on disk where all gems in your bundle will be located regardless
225
219
  of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
@@ -227,13 +221,13 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
227
221
  is used, defaults to vendor/bundle.
228
222
  * `path.system` (`BUNDLE_PATH__SYSTEM`):
229
223
  Whether Bundler will install gems into the default system path (`Gem.dir`).
230
- * `path_relative_to_cwd` (`PATH_RELATIVE_TO_CWD`)
224
+ * `path_relative_to_cwd` (`BUNDLE_PATH_RELATIVE_TO_CWD`)
231
225
  Makes `--path` relative to the CWD instead of the `Gemfile`.
232
226
  * `plugins` (`BUNDLE_PLUGINS`):
233
227
  Enable Bundler's experimental plugin system.
234
- * `prefer_gems_rb` (`BUNDLE_PREFER_GEMS_RB`)
235
- Prefer `gems.rb` to `Gemfile` when Bundler is searching for a Gemfile.
236
- * `print_only_version_number` (`BUNDLE_PRINT_ONLY_VERSION_NUMBER`)
228
+ * `prefer_patch` (BUNDLE_PREFER_PATCH):
229
+ Prefer updating only to next patch version during updates. Makes `bundle update` calls equivalent to `bundler update --patch`.
230
+ * `print_only_version_number` (`BUNDLE_PRINT_ONLY_VERSION_NUMBER`):
237
231
  Print only version number from `bundler --version`.
238
232
  * `redirect` (`BUNDLE_REDIRECT`):
239
233
  The number of redirects allowed for network requests. Defaults to `5`.
@@ -245,19 +239,11 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
245
239
  * `shebang` (`BUNDLE_SHEBANG`):
246
240
  The program name that should be invoked for generated binstubs. Defaults to
247
241
  the ruby install name used to generate the binstub.
242
+ * `silence_deprecations` (`BUNDLE_SILENCE_DEPRECATIONS`):
243
+ Whether Bundler should silence deprecation warnings for behavior that will
244
+ be changed in the next major version.
248
245
  * `silence_root_warning` (`BUNDLE_SILENCE_ROOT_WARNING`):
249
246
  Silence the warning Bundler prints when installing gems as root.
250
- * `skip_default_git_sources` (`BUNDLE_SKIP_DEFAULT_GIT_SOURCES`):
251
- Whether Bundler should skip adding default git source shortcuts to the
252
- Gemfile DSL.
253
- * `specific_platform` (`BUNDLE_SPECIFIC_PLATFORM`):
254
- Allow bundler to resolve for the specific running platform and store it in
255
- the lockfile, instead of only using a generic platform.
256
- A specific platform is the exact platform triple reported by
257
- `Gem::Platform.local`, such as `x86_64-darwin-16` or `universal-java-1.8`.
258
- On the other hand, generic platforms are those such as `ruby`, `mswin`, or
259
- `java`. In this example, `x86_64-darwin-16` would map to `ruby` and
260
- `universal-java-1.8` to `java`.
261
247
  * `ssl_ca_cert` (`BUNDLE_SSL_CA_CERT`):
262
248
  Path to a designated CA certificate file or folder containing multiple
263
249
  certificates for trusted CAs in PEM format.
@@ -274,10 +260,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
274
260
  The location where RubyGems installs binstubs. Defaults to `Gem.bindir`.
275
261
  * `timeout` (`BUNDLE_TIMEOUT`):
276
262
  The seconds allowed before timing out for network requests. Defaults to `10`.
277
- * `unlock_source_unlocks_spec` (`BUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC`):
278
- Whether running `bundle update --source NAME` unlocks a gem with the given
279
- name. Defaults to `true`.
280
- * `update_requires_all_flag` (`BUNDLE_UPDATE_REQUIRES_ALL_FLAG`)
263
+ * `update_requires_all_flag` (`BUNDLE_UPDATE_REQUIRES_ALL_FLAG`):
281
264
  Require passing `--all` to `bundle update` when everything should be updated,
282
265
  and disallow passing no options to `bundle update`.
283
266
  * `user_agent` (`BUNDLE_USER_AGENT`):
@@ -300,11 +283,11 @@ Bundler also allows you to work against a git repository locally
300
283
  instead of using the remote version. This can be achieved by setting
301
284
  up a local override:
302
285
 
303
- bundle config local.GEM_NAME /path/to/local/git/repository
286
+ bundle config set --local local.GEM_NAME /path/to/local/git/repository
304
287
 
305
288
  For example, in order to use a local Rack repository, a developer could call:
306
289
 
307
- bundle config local.rack ~/Work/git/rack
290
+ bundle config set --local local.rack ~/Work/git/rack
308
291
 
309
292
  Now instead of checking out the remote git repository, the local
310
293
  override will be used. Similar to a path source, every time the local
@@ -334,21 +317,21 @@ Bundler supports overriding gem sources with mirrors. This allows you to
334
317
  configure rubygems.org as the gem source in your Gemfile while still using your
335
318
  mirror to fetch gems.
336
319
 
337
- bundle config mirror.SOURCE_URL MIRROR_URL
320
+ bundle config set --global mirror.SOURCE_URL MIRROR_URL
338
321
 
339
322
  For example, to use a mirror of rubygems.org hosted at rubygems-mirror.org:
340
323
 
341
- bundle config mirror.http://rubygems.org http://rubygems-mirror.org
324
+ bundle config set --global mirror.http://rubygems.org http://rubygems-mirror.org
342
325
 
343
326
  Each mirror also provides a fallback timeout setting. If the mirror does not
344
327
  respond within the fallback timeout, Bundler will try to use the original
345
328
  server instead of the mirror.
346
329
 
347
- bundle config mirror.SOURCE_URL.fallback_timeout TIMEOUT
330
+ bundle config set --global mirror.SOURCE_URL.fallback_timeout TIMEOUT
348
331
 
349
332
  For example, to fall back to rubygems.org after 3 seconds:
350
333
 
351
- bundle config mirror.https://rubygems.org.fallback_timeout 3
334
+ bundle config set --global mirror.https://rubygems.org.fallback_timeout 3
352
335
 
353
336
  The default fallback timeout is 0.1 seconds, but the setting can currently
354
337
  only accept whole seconds (for example, 1, 15, or 30).
@@ -358,12 +341,12 @@ only accept whole seconds (for example, 1, 15, or 30).
358
341
  Bundler allows you to configure credentials for any gem source, which allows
359
342
  you to avoid putting secrets into your Gemfile.
360
343
 
361
- bundle config SOURCE_HOSTNAME USERNAME:PASSWORD
344
+ bundle config set --global SOURCE_HOSTNAME USERNAME:PASSWORD
362
345
 
363
346
  For example, to save the credentials of user `claudette` for the gem source at
364
347
  `gems.longerous.com`, you would run:
365
348
 
366
- bundle config gems.longerous.com claudette:s00pers3krit
349
+ bundle config set --global gems.longerous.com claudette:s00pers3krit
367
350
 
368
351
  Or you can set the credentials as an environment variable like this:
369
352
 
@@ -371,7 +354,7 @@ Or you can set the credentials as an environment variable like this:
371
354
 
372
355
  For gems with a git source with HTTP(S) URL you can specify credentials like so:
373
356
 
374
- bundle config https://github.com/bundler/bundler.git username:password
357
+ bundle config set --global https://github.com/rubygems/rubygems.git username:password
375
358
 
376
359
  Or you can set the credentials as an environment variable like so:
377
360
 
@@ -382,6 +365,23 @@ where you can use personal OAuth tokens:
382
365
 
383
366
  export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x-oauth-basic
384
367
 
368
+ Note that any configured credentials will be redacted by informative commands
369
+ such as `bundle config list` or `bundle config get`, unless you use the
370
+ `--parseable` flag. This is to avoid unintentionally leaking credentials when
371
+ copy-pasting bundler output.
372
+
373
+ Also note that to guarantee a sane mapping between valid environment variable
374
+ names and valid host names, bundler makes the following transformations:
375
+
376
+ * Any `-` characters in a host name are mapped to a triple dash (`___`) in the
377
+ corresponding environment variable.
378
+
379
+ * Any `.` characters in a host name are mapped to a double dash (`__`) in the
380
+ corresponding environment variable.
381
+
382
+ This means that if you have a gem server named `my.gem-host.com`, you'll need to
383
+ use the `BUNDLE_MY__GEM___HOST__COM` variable to configure credentials for it
384
+ through ENV.
385
385
 
386
386
  ## CONFIGURE BUNDLER DIRECTORIES
387
387
 
@@ -394,4 +394,3 @@ outlines the available environment variables and their default values
394
394
  BUNDLE_USER_CACHE : $BUNDLE_USER_HOME/cache
395
395
  BUNDLE_USER_CONFIG : $BUNDLE_USER_HOME/config
396
396
  BUNDLE_USER_PLUGIN : $BUNDLE_USER_HOME/plugin
397
-