bundler 2.6.9 → 2.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1136 -1033
  3. data/README.md +7 -7
  4. data/bundler.gemspec +2 -2
  5. data/lib/bundler/build_metadata.rb +10 -11
  6. data/lib/bundler/checksum.rb +6 -0
  7. data/lib/bundler/cli/cache.rb +0 -1
  8. data/lib/bundler/cli/common.rb +1 -1
  9. data/lib/bundler/cli/config.rb +2 -2
  10. data/lib/bundler/cli/gem.rb +62 -30
  11. data/lib/bundler/cli/install.rb +5 -7
  12. data/lib/bundler/cli/lock.rb +5 -5
  13. data/lib/bundler/cli/outdated.rb +1 -1
  14. data/lib/bundler/cli/show.rb +2 -6
  15. data/lib/bundler/cli/update.rb +3 -3
  16. data/lib/bundler/cli.rb +45 -49
  17. data/lib/bundler/compact_index_client.rb +1 -5
  18. data/lib/bundler/current_ruby.rb +27 -3
  19. data/lib/bundler/definition.rb +97 -81
  20. data/lib/bundler/dependency.rb +1 -1
  21. data/lib/bundler/dsl.rb +34 -24
  22. data/lib/bundler/feature_flag.rb +15 -12
  23. data/lib/bundler/fetcher/dependency.rb +2 -1
  24. data/lib/bundler/fetcher/downloader.rb +33 -7
  25. data/lib/bundler/fetcher.rb +49 -19
  26. data/lib/bundler/friendly_errors.rb +2 -1
  27. data/lib/bundler/index.rb +7 -2
  28. data/lib/bundler/installer.rb +5 -4
  29. data/lib/bundler/lazy_specification.rb +9 -7
  30. data/lib/bundler/lockfile_parser.rb +21 -5
  31. data/lib/bundler/man/bundle-add.1 +1 -1
  32. data/lib/bundler/man/bundle-binstubs.1 +1 -1
  33. data/lib/bundler/man/bundle-cache.1 +1 -1
  34. data/lib/bundler/man/bundle-check.1 +1 -1
  35. data/lib/bundler/man/bundle-clean.1 +1 -1
  36. data/lib/bundler/man/bundle-config.1 +200 -137
  37. data/lib/bundler/man/bundle-config.1.ronn +138 -109
  38. data/lib/bundler/man/bundle-console.1 +1 -1
  39. data/lib/bundler/man/bundle-doctor.1 +43 -4
  40. data/lib/bundler/man/bundle-doctor.1.ronn +48 -4
  41. data/lib/bundler/man/bundle-env.1 +1 -1
  42. data/lib/bundler/man/bundle-exec.1 +1 -1
  43. data/lib/bundler/man/bundle-fund.1 +1 -1
  44. data/lib/bundler/man/bundle-gem.1 +67 -44
  45. data/lib/bundler/man/bundle-gem.1.ronn +8 -4
  46. data/lib/bundler/man/bundle-help.1 +1 -1
  47. data/lib/bundler/man/bundle-info.1 +1 -1
  48. data/lib/bundler/man/bundle-init.1 +1 -1
  49. data/lib/bundler/man/bundle-inject.1 +2 -2
  50. data/lib/bundler/man/bundle-inject.1.ronn +1 -1
  51. data/lib/bundler/man/bundle-install.1 +4 -4
  52. data/lib/bundler/man/bundle-install.1.ronn +3 -4
  53. data/lib/bundler/man/bundle-issue.1 +1 -1
  54. data/lib/bundler/man/bundle-licenses.1 +1 -1
  55. data/lib/bundler/man/bundle-list.1 +1 -1
  56. data/lib/bundler/man/bundle-lock.1 +1 -1
  57. data/lib/bundler/man/bundle-open.1 +1 -1
  58. data/lib/bundler/man/bundle-outdated.1 +1 -1
  59. data/lib/bundler/man/bundle-platform.1 +1 -1
  60. data/lib/bundler/man/bundle-plugin.1 +40 -15
  61. data/lib/bundler/man/bundle-plugin.1.ronn +44 -15
  62. data/lib/bundler/man/bundle-pristine.1 +1 -1
  63. data/lib/bundler/man/bundle-remove.1 +1 -1
  64. data/lib/bundler/man/bundle-show.1 +1 -1
  65. data/lib/bundler/man/bundle-update.1 +5 -5
  66. data/lib/bundler/man/bundle-update.1.ronn +4 -4
  67. data/lib/bundler/man/bundle-version.1 +1 -1
  68. data/lib/bundler/man/bundle-viz.1 +1 -1
  69. data/lib/bundler/man/bundle.1 +1 -1
  70. data/lib/bundler/man/gemfile.5 +1 -1
  71. data/lib/bundler/match_platform.rb +31 -12
  72. data/lib/bundler/materialization.rb +2 -2
  73. data/lib/bundler/resolver/package.rb +2 -1
  74. data/lib/bundler/resolver.rb +1 -3
  75. data/lib/bundler/rubygems_ext.rb +116 -120
  76. data/lib/bundler/rubygems_integration.rb +11 -6
  77. data/lib/bundler/runtime.rb +1 -1
  78. data/lib/bundler/self_manager.rb +32 -42
  79. data/lib/bundler/settings/validator.rb +0 -23
  80. data/lib/bundler/settings.rb +4 -6
  81. data/lib/bundler/shared_helpers.rb +6 -4
  82. data/lib/bundler/source/gemspec.rb +4 -0
  83. data/lib/bundler/source/git/git_proxy.rb +3 -3
  84. data/lib/bundler/source/path.rb +9 -0
  85. data/lib/bundler/source_list.rb +1 -5
  86. data/lib/bundler/source_map.rb +1 -1
  87. data/lib/bundler/spec_set.rb +7 -3
  88. data/lib/bundler/templates/Executable +0 -11
  89. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +2 -0
  90. data/lib/bundler/templates/newgem/newgem.gemspec.tt +6 -5
  91. data/lib/bundler/ui/shell.rb +2 -2
  92. data/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
  93. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +2 -1
  94. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +81 -42
  95. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +42 -6
  96. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +1 -1
  97. data/lib/bundler/vendor/thor/lib/thor/runner.rb +1 -1
  98. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +3 -7
  99. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  100. data/lib/bundler/version.rb +10 -2
  101. data/lib/bundler/worker.rb +1 -1
  102. data/lib/bundler.rb +14 -12
  103. metadata +4 -14
  104. data/lib/bundler/gem_helpers.rb +0 -144
  105. data/lib/bundler/templates/Executable.bundler +0 -109
  106. data/lib/bundler/vendor/connection_pool/.document +0 -1
  107. data/lib/bundler/vendor/fileutils/.document +0 -1
  108. data/lib/bundler/vendor/net-http-persistent/.document +0 -1
  109. data/lib/bundler/vendor/pub_grub/.document +0 -1
  110. data/lib/bundler/vendor/securerandom/.document +0 -1
  111. data/lib/bundler/vendor/thor/.document +0 -1
  112. data/lib/bundler/vendor/tsort/.document +0 -1
  113. data/lib/bundler/vendor/uri/.document +0 -1
@@ -3,10 +3,10 @@ bundle-config(1) -- Set bundler configuration options
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle config` list<br>
7
- `bundle config` [get] NAME<br>
8
- `bundle config` [set] NAME VALUE<br>
9
- `bundle config` unset NAME
6
+ `bundle config` [list]<br>
7
+ `bundle config` [get [--local|--global]] NAME<br>
8
+ `bundle config` [set [--local|--global]] NAME VALUE<br>
9
+ `bundle config` unset [--local|--global] NAME
10
10
 
11
11
  ## DESCRIPTION
12
12
 
@@ -19,103 +19,67 @@ Bundler loads configuration settings in this order:
19
19
  3. Global config (`~/.bundle/config`)
20
20
  4. Bundler default config
21
21
 
22
- Executing `bundle config list` will print a list of all bundler
23
- configuration for the current bundle, and where that configuration
24
- was set.
25
-
26
- Executing `bundle config get <name>` will print the value of that configuration
27
- setting, and where it was set.
28
-
29
- Executing `bundle config set <name> <value>` defaults to setting `local`
30
- configuration if executing from within a local application, otherwise it will
31
- set `global` configuration. See `--local` and `--global` options below.
32
-
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`.
37
-
38
- Executing `bundle config set --global <name> <value>` will set that
39
- configuration to the value specified for all bundles executed as the current
40
- user. The configuration will be stored in `~/.bundle/config`. If <name> already
41
- is set, <name> will be overridden and user will be warned.
42
-
43
- Executing `bundle config unset <name>` will delete the configuration in both
44
- local and global sources.
45
-
46
- Executing `bundle config unset --global <name>` will delete the configuration
47
- only from the user configuration.
48
-
49
- Executing `bundle config unset --local <name>` will delete the configuration
50
- only from the local application.
51
-
52
- Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
22
+ Executing `bundle` with the `BUNDLE_IGNORE_CONFIG` environment variable set will
53
23
  cause it to ignore all configuration.
54
24
 
55
- ## REMEMBERING OPTIONS
25
+ ## SUB-COMMANDS
56
26
 
57
- Flags passed to `bundle install` or the Bundler runtime, such as `--path foo` or
58
- `--without production`, are remembered between commands and saved to your local
59
- application's configuration (normally, `./.bundle/config`).
27
+ ### list (default command)
60
28
 
61
- However, this will be changed in bundler 3, so it's better not to rely on this
62
- behavior. If these options must be remembered, it's better to set them using
63
- `bundle config` (e.g., `bundle config set --local path foo`).
29
+ Executing `bundle config list` will print a list of all bundler
30
+ configuration for the current bundle, and where that configuration
31
+ was set.
64
32
 
65
- The options that can be configured are:
33
+ ### get
66
34
 
67
- * `bin`:
68
- Creates a directory (defaults to `~/bin`) and place any executables from the
69
- gem there. These executables run in Bundler's context. If used, you might add
70
- this directory to your environment's `PATH` variable. For instance, if the
71
- `rails` gem comes with a `rails` executable, this flag will create a
72
- `bin/rails` executable that ensures that all referred dependencies will be
73
- resolved using the bundled gems.
35
+ Executing `bundle config get <name>` will print the value of that configuration
36
+ setting, and all locations where it was set.
74
37
 
75
- * `deployment`:
76
- In deployment mode, Bundler will 'roll-out' the bundle for
77
- `production` use. Please check carefully if you want to have this option
78
- enabled in `development` or `test` environments.
38
+ **OPTIONS**
79
39
 
80
- * `only`:
81
- A space-separated list of groups to install only gems of the specified groups.
82
- Please check carefully if you want to install also gems without a group, cause
83
- they get put inside `default` group. For example `only test:default` will install
84
- all gems specified in test group and without one.
40
+ * `--local`:
41
+ Get configuration from configuration file for the local application, namely,
42
+ `<project_root>/.bundle/config`, or `$BUNDLE_APP_CONFIG/config` if
43
+ `BUNDLE_APP_CONFIG` is set.
85
44
 
86
- * `path`:
87
- The location to install the specified gems to. This defaults to Rubygems'
88
- setting. Bundler shares this location with Rubygems, `gem install ...` will
89
- have gem installed there, too. Therefore, gems installed without a
90
- `--path ...` setting will show up by calling `gem list`. Accordingly, gems
91
- installed to other locations will not get listed.
45
+ * `--global`:
46
+ Get configuration from configuration file global to all bundles executed as
47
+ the current user, namely, from `~/.bundle/config`.
92
48
 
93
- * `without`:
94
- A space-separated or `:`-separated list of groups referencing gems to skip during
95
- installation.
49
+ ### set
96
50
 
97
- * `with`:
98
- A space-separated or `:`-separated list of **optional** groups referencing gems to
99
- include during installation.
51
+ Executing `bundle config set <name> <value>` defaults to setting `local`
52
+ configuration if executing from within a local application, otherwise it will
53
+ set `global` configuration.
100
54
 
101
- ## BUILD OPTIONS
55
+ **OPTIONS**
102
56
 
103
- You can use `bundle config` to give Bundler the flags to pass to the gem
104
- installer every time bundler tries to install a particular gem.
57
+ * `--local`:
58
+ Executing `bundle config set --local <name> <value>` will set that configuration
59
+ in the directory for the local application. The configuration will be stored in
60
+ `<project_root>/.bundle/config`. If `BUNDLE_APP_CONFIG` is set, the configuration
61
+ will be stored in `$BUNDLE_APP_CONFIG/config`.
105
62
 
106
- A very common example, the `mysql` gem, requires Snow Leopard users to
107
- pass configuration flags to `gem install` to specify where to find the
108
- `mysql_config` executable.
63
+ * `--global`:
64
+ Executing `bundle config set --global <name> <value>` will set that
65
+ configuration to the value specified for all bundles executed as the current
66
+ user. The configuration will be stored in `~/.bundle/config`. If <name> already
67
+ is set, <name> will be overridden and user will be warned.
109
68
 
110
- gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
69
+ ### unset
111
70
 
112
- Since the specific location of that executable can change from machine
113
- to machine, you can specify these flags on a per-machine basis.
71
+ Executing `bundle config unset <name>` will delete the configuration in both
72
+ local and global sources.
114
73
 
115
- bundle config set --global build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
74
+ **OPTIONS**
116
75
 
117
- After running this command, every time bundler needs to install the
118
- `mysql` gem, it will pass along the flags you specified.
76
+ * `--local`:
77
+ Executing `bundle config unset --local <name>` will delete the configuration
78
+ only from the local application.
79
+
80
+ * `--global`:
81
+ Executing `bundle config unset --global <name>` will delete the configuration
82
+ only from the user configuration.
119
83
 
120
84
  ## CONFIGURATION KEYS
121
85
 
@@ -144,9 +108,6 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
144
108
 
145
109
  * `allow_offline_install` (`BUNDLE_ALLOW_OFFLINE_INSTALL`):
146
110
  Allow Bundler to use cached data when installing without network access.
147
- * `auto_clean_without_path` (`BUNDLE_AUTO_CLEAN_WITHOUT_PATH`):
148
- Automatically run `bundle clean` after installing when an explicit `path`
149
- has not been set and Bundler is not installing into the system gems.
150
111
  * `auto_install` (`BUNDLE_AUTO_INSTALL`):
151
112
  Automatically run `bundle install` when gems are missing.
152
113
  * `bin` (`BUNDLE_BIN`):
@@ -154,7 +115,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
154
115
  Defaults to `false`.
155
116
  * `cache_all` (`BUNDLE_CACHE_ALL`):
156
117
  Cache all gems, including path and git gems. This needs to be explicitly
157
- configured on bundler 1 and bundler 2, but will be the default on bundler 3.
118
+ before bundler 4, but will be the default on bundler 4.
158
119
  * `cache_all_platforms` (`BUNDLE_CACHE_ALL_PLATFORMS`):
159
120
  Cache gems for all platforms.
160
121
  * `cache_path` (`BUNDLE_CACHE_PATH`):
@@ -163,15 +124,16 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
163
124
  Defaults to `vendor/cache`.
164
125
  * `clean` (`BUNDLE_CLEAN`):
165
126
  Whether Bundler should run `bundle clean` automatically after
166
- `bundle install`.
127
+ `bundle install`. Defaults to `true` in Bundler 4, as long as `path` is not
128
+ explicitly configured.
167
129
  * `console` (`BUNDLE_CONSOLE`):
168
130
  The console that `bundle console` starts. Defaults to `irb`.
169
- * `default_install_uses_path` (`BUNDLE_DEFAULT_INSTALL_USES_PATH`):
170
- Whether a `bundle install` without an explicit `--path` argument defaults
171
- to installing gems in `.bundle`.
131
+ * `default_cli_command` (`BUNDLE_DEFAULT_CLI_COMMAND`):
132
+ The command that running `bundle` without arguments should run. Defaults to
133
+ `cli_help` since Bundler 4, but can also be `install` which was the previous
134
+ default.
172
135
  * `deployment` (`BUNDLE_DEPLOYMENT`):
173
- Disallow changes to the `Gemfile`. When the `Gemfile` is changed and the
174
- lockfile has not been updated, running Bundler commands will be blocked.
136
+ Equivalent to setting `frozen` to `true` and `path` to `vendor/bundle`.
175
137
  * `disable_checksum_validation` (`BUNDLE_DISABLE_CHECKSUM_VALIDATION`):
176
138
  Allow installing gems even if they do not match the checksum provided by
177
139
  RubyGems.
@@ -193,12 +155,13 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
193
155
  Ignore the current machine's platform and install only `ruby` platform gems.
194
156
  As a result, gems with native extensions will be compiled from source.
195
157
  * `frozen` (`BUNDLE_FROZEN`):
196
- Disallow changes to the `Gemfile`. When the `Gemfile` is changed and the
197
- lockfile has not been updated, running Bundler commands will be blocked.
198
- Defaults to `true` when `--deployment` is used.
158
+ Disallow any automatic changes to `Gemfile.lock`. Bundler commands will
159
+ be blocked unless the lockfile can be installed exactly as written.
160
+ Usually this will happen when changing the `Gemfile` manually and forgetting
161
+ to update the lockfile through `bundle lock` or `bundle install`.
199
162
  * `gem.github_username` (`BUNDLE_GEM__GITHUB_USERNAME`):
200
- Sets a GitHub username or organization to be used in `README` file when you
201
- create a new gem via `bundle gem` command. It can be overridden by passing an
163
+ Sets a GitHub username or organization to be used in the `README` and `.gemspec` files
164
+ when you create a new gem via `bundle gem` command. It can be overridden by passing an
202
165
  explicit `--github-username` flag to `bundle gem`.
203
166
  * `gem.push_key` (`BUNDLE_GEM__PUSH_KEY`):
204
167
  Sets the `--key` parameter for `gem push` when using the `rake release`
@@ -210,8 +173,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
210
173
  will search up from the current working directory until it finds a
211
174
  `Gemfile`.
212
175
  * `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
213
- Whether Bundler should cache all gems globally, rather than locally to the
214
- installing Ruby installation.
176
+ Whether Bundler should cache all gems and compiled extensions globally,
177
+ rather than locally to the configured installation path.
215
178
  * `ignore_funding_requests` (`BUNDLE_IGNORE_FUNDING_REQUESTS`):
216
179
  When set, no funding requests will be printed.
217
180
  * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
@@ -233,25 +196,19 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
233
196
  * `path` (`BUNDLE_PATH`):
234
197
  The location on disk where all gems in your bundle will be located regardless
235
198
  of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
236
- will be installed by `bundle install`. Defaults to `Gem.dir`. When --deployment
237
- is used, defaults to vendor/bundle.
199
+ will be installed by `bundle install`. Defaults to `.bundle` relative to
200
+ repository root in Bundler 4, and to the default system path (`Gem.dir`)
201
+ before Bundler 4.
238
202
  * `path.system` (`BUNDLE_PATH__SYSTEM`):
239
203
  Whether Bundler will install gems into the default system path (`Gem.dir`).
240
- * `path_relative_to_cwd` (`BUNDLE_PATH_RELATIVE_TO_CWD`)
241
- Makes `--path` relative to the CWD instead of the `Gemfile`.
242
204
  * `plugins` (`BUNDLE_PLUGINS`):
243
205
  Enable Bundler's experimental plugin system.
244
206
  * `prefer_patch` (BUNDLE_PREFER_PATCH):
245
207
  Prefer updating only to next patch version during updates. Makes `bundle update` calls equivalent to `bundler update --patch`.
246
- * `print_only_version_number` (`BUNDLE_PRINT_ONLY_VERSION_NUMBER`):
247
- Print only version number from `bundler --version`.
248
208
  * `redirect` (`BUNDLE_REDIRECT`):
249
209
  The number of redirects allowed for network requests. Defaults to `5`.
250
210
  * `retry` (`BUNDLE_RETRY`):
251
211
  The number of times to retry failed network requests. Defaults to `3`.
252
- * `setup_makes_kernel_gem_public` (`BUNDLE_SETUP_MAKES_KERNEL_GEM_PUBLIC`):
253
- Have `Bundler.setup` make the `Kernel#gem` method public, even though
254
- RubyGems declares it as private.
255
212
  * `shebang` (`BUNDLE_SHEBANG`):
256
213
  The program name that should be invoked for generated binstubs. Defaults to
257
214
  the ruby install name used to generate the binstub.
@@ -260,6 +217,10 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
260
217
  be changed in the next major version.
261
218
  * `silence_root_warning` (`BUNDLE_SILENCE_ROOT_WARNING`):
262
219
  Silence the warning Bundler prints when installing gems as root.
220
+ * `simulate_version` (`BUNDLE_SIMULATE_VERSION`):
221
+ The virtual version Bundler should use for activating feature flags. Can be
222
+ used to simulate all the new functionality that will be enabled in a future
223
+ major version.
263
224
  * `ssl_ca_cert` (`BUNDLE_SSL_CA_CERT`):
264
225
  Path to a designated CA certificate file or folder containing multiple
265
226
  certificates for trusted CAs in PEM format.
@@ -278,6 +239,9 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
278
239
  and disallow passing no options to `bundle update`.
279
240
  * `user_agent` (`BUNDLE_USER_AGENT`):
280
241
  The custom user agent fragment Bundler includes in API requests.
242
+ * `verbose` (`BUNDLE_VERBOSE`):
243
+ Whether Bundler should print verbose output. Defaults to `false`, unless the
244
+ `--verbose` CLI flag is used.
281
245
  * `version` (`BUNDLE_VERSION`):
282
246
  The version of Bundler to use when running under Bundler environment.
283
247
  Defaults to `lockfile`. You can also specify `system` or `x.y.z`.
@@ -289,6 +253,71 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
289
253
  * `without` (`BUNDLE_WITHOUT`):
290
254
  A space-separated or `:`-separated list of groups whose gems bundler should not install.
291
255
 
256
+ ## REMEMBERING OPTIONS
257
+
258
+ Flags passed to `bundle install` or the Bundler runtime, such as `--path foo` or
259
+ `--without production`, are remembered between commands and saved to your local
260
+ application's configuration (normally, `./.bundle/config`).
261
+
262
+ However, this will be changed in bundler 4, so it's better not to rely on this
263
+ behavior. If these options must be remembered, it's better to set them using
264
+ `bundle config` (e.g., `bundle config set --local path foo`).
265
+
266
+ The flags that can be configured are:
267
+
268
+ * `--bin`:
269
+ Creates a directory (defaults to `~/bin`) and place any executables from the
270
+ gem there. These executables run in Bundler's context. If used, you might add
271
+ this directory to your environment's `PATH` variable. For instance, if the
272
+ `rails` gem comes with a `rails` executable, this flag will create a
273
+ `bin/rails` executable that ensures that all referred dependencies will be
274
+ resolved using the bundled gems.
275
+
276
+ * `--deployment`:
277
+ In deployment mode, Bundler will 'roll-out' the bundle for
278
+ `production` use. Please check carefully if you want to have this option
279
+ enabled in `development` or `test` environments.
280
+
281
+ * `--only`:
282
+ A space-separated list of groups to install only gems of the specified groups.
283
+ Please check carefully if you want to install also gems without a group, cause
284
+ they get put inside `default` group. For example `only test:default` will install
285
+ all gems specified in test group and without one.
286
+
287
+ * `--path`:
288
+ The location to install the specified gems to. This defaults to Rubygems'
289
+ setting. Bundler shares this location with Rubygems, `gem install ...` will
290
+ have gem installed there, too. Therefore, gems installed without a
291
+ `--path ...` setting will show up by calling `gem list`. Accordingly, gems
292
+ installed to other locations will not get listed.
293
+
294
+ * `--without`:
295
+ A space-separated or `:`-separated list of groups referencing gems to skip during
296
+ installation.
297
+
298
+ * `--with`:
299
+ A space-separated or `:`-separated list of **optional** groups referencing gems to
300
+ include during installation.
301
+
302
+ ## BUILD OPTIONS
303
+
304
+ You can use `bundle config` to give Bundler the flags to pass to the gem
305
+ installer every time bundler tries to install a particular gem.
306
+
307
+ A very common example, the `mysql` gem, requires Snow Leopard users to
308
+ pass configuration flags to `gem install` to specify where to find the
309
+ `mysql_config` executable.
310
+
311
+ gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
312
+
313
+ Since the specific location of that executable can change from machine
314
+ to machine, you can specify these flags on a per-machine basis.
315
+
316
+ bundle config set --global build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
317
+
318
+ After running this command, every time bundler needs to install the
319
+ `mysql` gem, it will pass along the flags you specified.
320
+
292
321
  ## LOCAL GIT REPOS
293
322
 
294
323
  Bundler also allows you to work against a git repository locally
@@ -1,6 +1,6 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
2
  .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
- .TH "BUNDLE\-CONSOLE" "1" "March 2025" ""
3
+ .TH "BUNDLE\-CONSOLE" "1" "August 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-console\fR \- Open an IRB session with the bundle pre\-loaded
6
6
  .SH "SYNOPSIS"
@@ -1,14 +1,21 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
2
  .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
- .TH "BUNDLE\-DOCTOR" "1" "March 2025" ""
3
+ .TH "BUNDLE\-DOCTOR" "1" "August 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
6
6
  .SH "SYNOPSIS"
7
- \fBbundle doctor\fR [\-\-quiet] [\-\-gemfile=GEMFILE]
7
+ \fBbundle doctor [diagnose]\fR [\-\-quiet] [\-\-gemfile=GEMFILE] [\-\-ssl]
8
+ .br
9
+ \fBbundle doctor ssl\fR [\-\-host=HOST] [\-\-tls\-version=TLS\-VERSION] [\-\-verify\-mode=VERIFY\-MODE]
10
+ .br
11
+ \fBbundle doctor\fR help [COMMAND]
8
12
  .SH "DESCRIPTION"
13
+ You can diagnose common Bundler problems with this command such as checking gem environment or SSL/TLS issue\.
14
+ .SH "SUB\-COMMANDS"
15
+ .SS "diagnose (default command)"
9
16
  Checks your Gemfile and gem environment for common problems\. If issues are detected, Bundler prints them and exits status 1\. Otherwise, Bundler prints a success message and exits status 0\.
10
17
  .P
11
- Examples of common problems caught by bundle\-doctor include:
18
+ Examples of common problems caught include:
12
19
  .IP "\(bu" 4
13
20
  Invalid Bundler settings
14
21
  .IP "\(bu" 4
@@ -20,11 +27,43 @@ Uninstalled gems
20
27
  .IP "\(bu" 4
21
28
  Missing dependencies
22
29
  .IP "" 0
23
- .SH "OPTIONS"
30
+ .P
31
+ \fBOPTIONS\fR
24
32
  .TP
25
33
  \fB\-\-quiet\fR
26
34
  Only output warnings and errors\.
27
35
  .TP
28
36
  \fB\-\-gemfile=GEMFILE\fR
29
37
  The location of the Gemfile(5) which Bundler should use\. This defaults to a Gemfile(5) in the current working directory\. In general, Bundler will assume that the location of the Gemfile(5) is also the project's root and will try to find \fBGemfile\.lock\fR and \fBvendor/cache\fR relative to this location\.
38
+ .TP
39
+ \fB\-\-ssl\fR
40
+ Diagnose common SSL problems when connecting to https://rubygems\.org\.
41
+ .IP
42
+ This flag runs the \fBbundle doctor ssl\fR subcommand with default values underneath\.
43
+ .SS "ssl"
44
+ If you've experienced issues related to SSL certificates and/or TLS versions while connecting to https://rubygems\.org, this command can help troubleshoot common problems\. The diagnostic will perform a few checks such as:
45
+ .IP "\(bu" 4
46
+ Verify the Ruby OpenSSL version installed on your system\.
47
+ .IP "\(bu" 4
48
+ Check the OpenSSL library version used for compilation\.
49
+ .IP "\(bu" 4
50
+ Ensure CA certificates are correctly setup on your machine\.
51
+ .IP "\(bu" 4
52
+ Open a TLS connection and verify the outcome\.
53
+ .IP "" 0
54
+ .P
55
+ \fBOPTIONS\fR
56
+ .TP
57
+ \fB\-\-host=HOST\fR
58
+ Perform the diagnostic on HOST\. Defaults to \fBrubygems\.org\fR\.
59
+ .TP
60
+ \fB\-\-tls\-version=TLS\-VERSION\fR
61
+ Specify the TLS version when opening the connection to HOST\.
62
+ .IP
63
+ Accepted values are: \fB1\.1\fR or \fB1\.2\fR\.
64
+ .TP
65
+ \fB\-\-verify\-mode=VERIFY\-MODE\fR
66
+ Specify the TLS verify mode when opening the connection to HOST\. Defaults to \fBSSL_VERIFY_PEER\fR\.
67
+ .IP
68
+ Accepted values are: \fBCLIENT_ONCE\fR, \fBFAIL_IF_NO_PEER_CERT\fR, \fBNONE\fR, \fBPEER\fR\.
30
69
 
@@ -3,16 +3,27 @@ bundle-doctor(1) -- Checks the bundle for common problems
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle doctor` [--quiet]
7
- [--gemfile=GEMFILE]
6
+ `bundle doctor [diagnose]` [--quiet]
7
+ [--gemfile=GEMFILE]
8
+ [--ssl]<br>
9
+ `bundle doctor ssl` [--host=HOST]
10
+ [--tls-version=TLS-VERSION]
11
+ [--verify-mode=VERIFY-MODE]<br>
12
+ `bundle doctor` help [COMMAND]
8
13
 
9
14
  ## DESCRIPTION
10
15
 
16
+ You can diagnose common Bundler problems with this command such as checking gem environment or SSL/TLS issue.
17
+
18
+ ## SUB-COMMANDS
19
+
20
+ ### diagnose (default command)
21
+
11
22
  Checks your Gemfile and gem environment for common problems. If issues
12
23
  are detected, Bundler prints them and exits status 1. Otherwise,
13
24
  Bundler prints a success message and exits status 0.
14
25
 
15
- Examples of common problems caught by bundle-doctor include:
26
+ Examples of common problems caught include:
16
27
 
17
28
  * Invalid Bundler settings
18
29
  * Mismatched Ruby versions
@@ -20,7 +31,7 @@ Examples of common problems caught by bundle-doctor include:
20
31
  * Uninstalled gems
21
32
  * Missing dependencies
22
33
 
23
- ## OPTIONS
34
+ **OPTIONS**
24
35
 
25
36
  * `--quiet`:
26
37
  Only output warnings and errors.
@@ -31,3 +42,36 @@ Examples of common problems caught by bundle-doctor include:
31
42
  will assume that the location of the Gemfile(5) is also the project's
32
43
  root and will try to find `Gemfile.lock` and `vendor/cache` relative
33
44
  to this location.
45
+
46
+ * `--ssl`:
47
+ Diagnose common SSL problems when connecting to https://rubygems.org.
48
+
49
+ This flag runs the `bundle doctor ssl` subcommand with default values
50
+ underneath.
51
+
52
+ ### ssl
53
+
54
+ If you've experienced issues related to SSL certificates and/or TLS versions while connecting
55
+ to https://rubygems.org, this command can help troubleshoot common problems.
56
+ The diagnostic will perform a few checks such as:
57
+
58
+ * Verify the Ruby OpenSSL version installed on your system.
59
+ * Check the OpenSSL library version used for compilation.
60
+ * Ensure CA certificates are correctly setup on your machine.
61
+ * Open a TLS connection and verify the outcome.
62
+
63
+ **OPTIONS**
64
+
65
+ * `--host=HOST`:
66
+ Perform the diagnostic on HOST. Defaults to `rubygems.org`.
67
+
68
+ * `--tls-version=TLS-VERSION`:
69
+ Specify the TLS version when opening the connection to HOST.
70
+
71
+ Accepted values are: `1.1` or `1.2`.
72
+
73
+ * `--verify-mode=VERIFY-MODE`:
74
+ Specify the TLS verify mode when opening the connection to HOST.
75
+ Defaults to `SSL_VERIFY_PEER`.
76
+
77
+ Accepted values are: `CLIENT_ONCE`, `FAIL_IF_NO_PEER_CERT`, `NONE`, `PEER`.
@@ -1,6 +1,6 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
2
  .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
- .TH "BUNDLE\-ENV" "1" "March 2025" ""
3
+ .TH "BUNDLE\-ENV" "1" "August 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-env\fR \- Print information about the environment Bundler is running under
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
2
  .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
- .TH "BUNDLE\-EXEC" "1" "March 2025" ""
3
+ .TH "BUNDLE\-EXEC" "1" "August 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
6
6
  .SH "SYNOPSIS"
@@ -1,6 +1,6 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
2
  .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
- .TH "BUNDLE\-FUND" "1" "March 2025" ""
3
+ .TH "BUNDLE\-FUND" "1" "August 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-fund\fR \- Lists information about gems seeking funding assistance
6
6
  .SH "SYNOPSIS"