bundler 2.3.17 → 2.3.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +76 -0
  3. data/lib/bundler/build_metadata.rb +2 -2
  4. data/lib/bundler/cli/common.rb +1 -0
  5. data/lib/bundler/cli/install.rb +5 -2
  6. data/lib/bundler/cli/outdated.rb +12 -3
  7. data/lib/bundler/cli/platform.rb +1 -1
  8. data/lib/bundler/cli.rb +5 -3
  9. data/lib/bundler/compact_index_client/updater.rb +16 -3
  10. data/lib/bundler/definition.rb +111 -28
  11. data/lib/bundler/dependency.rb +2 -1
  12. data/lib/bundler/dsl.rb +3 -3
  13. data/lib/bundler/fetcher.rb +6 -6
  14. data/lib/bundler/gem_helpers.rb +8 -1
  15. data/lib/bundler/incomplete_specification.rb +12 -0
  16. data/lib/bundler/index.rb +10 -12
  17. data/lib/bundler/installer/standalone.rb +1 -1
  18. data/lib/bundler/installer.rb +8 -1
  19. data/lib/bundler/lazy_specification.rb +30 -21
  20. data/lib/bundler/lockfile_parser.rb +4 -0
  21. data/lib/bundler/man/bundle-add.1 +1 -1
  22. data/lib/bundler/man/bundle-binstubs.1 +1 -1
  23. data/lib/bundler/man/bundle-cache.1 +7 -1
  24. data/lib/bundler/man/bundle-cache.1.ronn +7 -0
  25. data/lib/bundler/man/bundle-check.1 +1 -1
  26. data/lib/bundler/man/bundle-clean.1 +1 -1
  27. data/lib/bundler/man/bundle-config.1 +15 -5
  28. data/lib/bundler/man/bundle-config.1.ronn +12 -5
  29. data/lib/bundler/man/bundle-doctor.1 +1 -1
  30. data/lib/bundler/man/bundle-exec.1 +2 -2
  31. data/lib/bundler/man/bundle-exec.1.ronn +1 -1
  32. data/lib/bundler/man/bundle-gem.1 +1 -1
  33. data/lib/bundler/man/bundle-info.1 +1 -1
  34. data/lib/bundler/man/bundle-init.1 +1 -1
  35. data/lib/bundler/man/bundle-inject.1 +5 -2
  36. data/lib/bundler/man/bundle-inject.1.ronn +3 -1
  37. data/lib/bundler/man/bundle-install.1 +5 -1
  38. data/lib/bundler/man/bundle-install.1.ronn +6 -0
  39. data/lib/bundler/man/bundle-list.1 +1 -1
  40. data/lib/bundler/man/bundle-lock.1 +1 -1
  41. data/lib/bundler/man/bundle-open.1 +1 -1
  42. data/lib/bundler/man/bundle-outdated.1 +1 -1
  43. data/lib/bundler/man/bundle-platform.1 +16 -6
  44. data/lib/bundler/man/bundle-platform.1.ronn +14 -7
  45. data/lib/bundler/man/bundle-pristine.1 +1 -1
  46. data/lib/bundler/man/bundle-remove.1 +1 -1
  47. data/lib/bundler/man/bundle-show.1 +1 -1
  48. data/lib/bundler/man/bundle-update.1 +1 -1
  49. data/lib/bundler/man/bundle-viz.1 +4 -1
  50. data/lib/bundler/man/bundle-viz.1.ronn +2 -0
  51. data/lib/bundler/man/bundle.1 +6 -9
  52. data/lib/bundler/man/bundle.1.ronn +5 -6
  53. data/lib/bundler/man/gemfile.5 +77 -47
  54. data/lib/bundler/man/gemfile.5.ronn +75 -54
  55. data/lib/bundler/remote_specification.rb +5 -4
  56. data/lib/bundler/resolver/spec_group.rb +5 -4
  57. data/lib/bundler/resolver.rb +10 -7
  58. data/lib/bundler/ruby_dsl.rb +1 -1
  59. data/lib/bundler/ruby_version.rb +5 -5
  60. data/lib/bundler/rubygems_ext.rb +13 -0
  61. data/lib/bundler/rubygems_gem_installer.rb +19 -12
  62. data/lib/bundler/runtime.rb +0 -1
  63. data/lib/bundler/settings.rb +1 -0
  64. data/lib/bundler/source/metadata.rb +1 -1
  65. data/lib/bundler/source/rubygems.rb +12 -6
  66. data/lib/bundler/source_list.rb +4 -0
  67. data/lib/bundler/spec_set.rb +26 -31
  68. data/lib/bundler/version.rb +1 -1
  69. data/lib/bundler.rb +1 -0
  70. metadata +4 -3
data/lib/bundler/index.rb CHANGED
@@ -56,17 +56,17 @@ module Bundler
56
56
 
57
57
  # Search this index's specs, and any source indexes that this index knows
58
58
  # about, returning all of the results.
59
- def search(query, base = nil)
60
- sort_specs(unsorted_search(query, base))
59
+ def search(query)
60
+ sort_specs(unsorted_search(query))
61
61
  end
62
62
 
63
- def unsorted_search(query, base)
64
- results = local_search(query, base)
63
+ def unsorted_search(query)
64
+ results = local_search(query)
65
65
 
66
66
  seen = results.map(&:full_name).uniq unless @sources.empty?
67
67
 
68
68
  @sources.each do |source|
69
- source.unsorted_search(query, base).each do |spec|
69
+ source.unsorted_search(query).each do |spec|
70
70
  next if seen.include?(spec.full_name)
71
71
 
72
72
  seen << spec.full_name
@@ -89,12 +89,12 @@ module Bundler
89
89
  self.class.sort_specs(specs)
90
90
  end
91
91
 
92
- def local_search(query, base = nil)
92
+ def local_search(query)
93
93
  case query
94
94
  when Gem::Specification, RemoteSpecification, LazySpecification, EndpointSpecification then search_by_spec(query)
95
95
  when String then specs_by_name(query)
96
- when Gem::Dependency then search_by_dependency(query, base)
97
- when DepProxy then search_by_dependency(query.dep, base)
96
+ when Gem::Dependency then search_by_dependency(query)
97
+ when DepProxy then search_by_dependency(query.dep)
98
98
  else
99
99
  raise "You can't search for a #{query.inspect}."
100
100
  end
@@ -185,11 +185,9 @@ module Bundler
185
185
  @specs[name].values
186
186
  end
187
187
 
188
- def search_by_dependency(dependency, base = nil)
189
- @cache[base || false] ||= {}
190
- @cache[base || false][dependency] ||= begin
188
+ def search_by_dependency(dependency)
189
+ @cache[dependency] ||= begin
191
190
  specs = specs_by_name(dependency.name)
192
- specs += base if base
193
191
  found = specs.select do |spec|
194
192
  next true if spec.source.is_a?(Source::Gemspec)
195
193
  dependency.matches_spec?(spec)
@@ -47,7 +47,7 @@ module Bundler
47
47
  end
48
48
 
49
49
  def bundler_path
50
- Bundler.root.join(Bundler.settings[:path], "bundler")
50
+ Bundler.root.join(Bundler.settings[:path].to_s, "bundler")
51
51
  end
52
52
 
53
53
  def gem_path(path, spec)
@@ -268,7 +268,14 @@ module Bundler
268
268
  return false if @definition.nothing_changed? && !@definition.missing_specs?
269
269
  end
270
270
 
271
- options["local"] ? @definition.resolve_with_cache! : @definition.resolve_remotely!
271
+ if options["local"]
272
+ @definition.resolve_with_cache!
273
+ elsif options["prefer-local"]
274
+ @definition.resolve_prefering_local!
275
+ else
276
+ @definition.resolve_remotely!
277
+ end
278
+
272
279
  true
273
280
  end
274
281
 
@@ -7,7 +7,7 @@ module Bundler
7
7
  include MatchPlatform
8
8
 
9
9
  attr_reader :name, :version, :dependencies, :platform
10
- attr_accessor :source, :remote
10
+ attr_accessor :source, :remote, :force_ruby_platform
11
11
 
12
12
  def initialize(name, version, platform, source = nil)
13
13
  @name = name
@@ -19,7 +19,7 @@ module Bundler
19
19
  end
20
20
 
21
21
  def full_name
22
- if platform == Gem::Platform::RUBY || platform.nil?
22
+ if platform == Gem::Platform::RUBY
23
23
  "#{@name}-#{@version}"
24
24
  else
25
25
  "#{@name}-#{@version}-#{platform}"
@@ -61,7 +61,7 @@ module Bundler
61
61
  def to_lock
62
62
  out = String.new
63
63
 
64
- if platform == Gem::Platform::RUBY || platform.nil?
64
+ if platform == Gem::Platform::RUBY
65
65
  out << " #{name} (#{version})\n"
66
66
  else
67
67
  out << " #{name} (#{version}-#{platform})\n"
@@ -75,27 +75,36 @@ module Bundler
75
75
  out
76
76
  end
77
77
 
78
- def __materialize__
79
- @specification = if source.is_a?(Source::Gemspec) && source.gemspec.name == name
80
- source.gemspec.tap {|s| s.source = source }
81
- else
82
- search_object = if source.is_a?(Source::Path)
83
- Dependency.new(name, version)
84
- else
85
- ruby_platform_materializes_to_ruby_platform? ? self : Dependency.new(name, version)
86
- end
87
- platform_object = ruby_platform_materializes_to_ruby_platform? ? Gem::Platform.new(platform) : Gem::Platform.local
88
- candidates = source.specs.search(search_object)
89
- same_platform_candidates = candidates.select do |spec|
90
- MatchPlatform.platforms_match?(spec.platform, platform_object)
78
+ def materialize_for_installation
79
+ source.local!
80
+
81
+ candidates = if source.is_a?(Source::Path) || !ruby_platform_materializes_to_ruby_platform?
82
+ target_platform = ruby_platform_materializes_to_ruby_platform? ? platform : Bundler.local_platform
83
+
84
+ source.specs.search(Dependency.new(name, version)).select do |spec|
85
+ MatchPlatform.platforms_match?(spec.platform, target_platform)
91
86
  end
92
- installable_candidates = same_platform_candidates.select do |spec|
87
+ else
88
+ source.specs.search(self)
89
+ end
90
+
91
+ return self if candidates.empty?
92
+
93
+ __materialize__(candidates)
94
+ end
95
+
96
+ def __materialize__(candidates)
97
+ @specification = begin
98
+ search = candidates.reverse.find do |spec|
93
99
  spec.is_a?(StubSpecification) ||
94
100
  (spec.required_ruby_version.satisfied_by?(Gem.ruby_version) &&
95
101
  spec.required_rubygems_version.satisfied_by?(Gem.rubygems_version))
96
102
  end
97
- search = installable_candidates.last || same_platform_candidates.last
98
- search.dependencies = dependencies if search && (search.is_a?(RemoteSpecification) || search.is_a?(EndpointSpecification))
103
+ if search.nil? && Bundler.frozen_bundle?
104
+ search = candidates.last
105
+ else
106
+ search.dependencies = dependencies if search && search.full_name == full_name && (search.is_a?(RemoteSpecification) || search.is_a?(EndpointSpecification))
107
+ end
99
108
  search
100
109
  end
101
110
  end
@@ -105,7 +114,7 @@ module Bundler
105
114
  end
106
115
 
107
116
  def to_s
108
- @__to_s ||= if platform == Gem::Platform::RUBY || platform.nil?
117
+ @__to_s ||= if platform == Gem::Platform::RUBY
109
118
  "#{name} (#{version})"
110
119
  else
111
120
  "#{name} (#{version}-#{platform})"
@@ -152,7 +161,7 @@ module Bundler
152
161
  # explicitly add a more specific platform.
153
162
  #
154
163
  def ruby_platform_materializes_to_ruby_platform?
155
- !Bundler.most_specific_locked_platform?(generic_local_platform) || Bundler.settings[:force_ruby_platform]
164
+ !Bundler.most_specific_locked_platform?(generic_local_platform) || force_ruby_platform || Bundler.settings[:force_ruby_platform]
156
165
  end
157
166
  end
158
167
  end
@@ -93,6 +93,10 @@ module Bundler
93
93
  "and then `bundle install` to generate a new lockfile."
94
94
  end
95
95
 
96
+ def may_include_redundant_platform_specific_gems?
97
+ bundler_version.nil? || bundler_version < Gem::Version.new("1.16.2")
98
+ end
99
+
96
100
  private
97
101
 
98
102
  TYPES = {
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-ADD" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-ADD" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-BINSTUBS" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-BINSTUBS" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CACHE" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-CACHE" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
@@ -9,6 +9,9 @@
9
9
  .SH "SYNOPSIS"
10
10
  \fBbundle cache\fR
11
11
  .
12
+ .P
13
+ alias: \fBpackage\fR, \fBpack\fR
14
+ .
12
15
  .SH "DESCRIPTION"
13
16
  Copy all of the \fB\.gem\fR files needed to run the application into the \fBvendor/cache\fR directory\. In the future, when running [bundle install(1)][bundle\-install], use the gems in the cache in preference to the ones on \fBrubygems\.org\fR\.
14
17
  .
@@ -53,3 +56,6 @@ One way to be sure that you have the right platformed versions of all your gems
53
56
  .
54
57
  .P
55
58
  By default, bundle cache(1) \fIbundle\-cache\.1\.html\fR fetches and also installs the gems to the default location\. To package the dependencies to \fBvendor/cache\fR without installing them to the local install location, you can run \fBbundle cache \-\-no\-install\fR\.
59
+ .
60
+ .SH "HISTORY"
61
+ In Bundler 2\.1, \fBcache\fR took in the functionalities of \fBpackage\fR and now \fBpackage\fR and \fBpack\fR are aliases of \fBcache\fR\.
@@ -5,6 +5,8 @@ bundle-cache(1) -- Package your needed `.gem` files into your application
5
5
 
6
6
  `bundle cache`
7
7
 
8
+ alias: `package`, `pack`
9
+
8
10
  ## DESCRIPTION
9
11
 
10
12
  Copy all of the `.gem` files needed to run the application into the
@@ -70,3 +72,8 @@ By default, [bundle cache(1)](bundle-cache.1.html) fetches and also
70
72
  installs the gems to the default location. To package the
71
73
  dependencies to `vendor/cache` without installing them to the
72
74
  local install location, you can run `bundle cache --no-install`.
75
+
76
+ ## HISTORY
77
+
78
+ In Bundler 2.1, `cache` took in the functionalities of `package` and now
79
+ `package` and `pack` are aliases of `cache`.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CHECK" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-CHECK" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CLEAN" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-CLEAN" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
@@ -1,7 +1,7 @@
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" "May 2022" "" ""
4
+ .TH "BUNDLE\-CONFIG" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-config\fR \- Set bundler configuration options
@@ -51,7 +51,7 @@ Executing \fBbundle config unset <name>\fR will delete the configuration in both
51
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 unset \-\-local <name> <value>\fR will delete the configuration only from the local application\.
54
+ Executing \fBbundle config unset \-\-local <name>\fR will delete the configuration only from the local application\.
55
55
  .
56
56
  .P
57
57
  Executing bundle with the \fBBUNDLE_IGNORE_CONFIG\fR environment variable set will cause it to ignore all configuration\.
@@ -74,6 +74,10 @@ Creates a directory (defaults to \fB~/bin\fR) and place any executables from the
74
74
  In deployment mode, Bundler will \'roll\-out\' the bundle for \fBproduction\fR use\. Please check carefully if you want to have this option enabled in \fBdevelopment\fR or \fBtest\fR environments\.
75
75
  .
76
76
  .TP
77
+ \fBonly\fR
78
+ A space\-separated list of groups to install only gems of the specified groups\.
79
+ .
80
+ .TP
77
81
  \fBpath\fR
78
82
  The location to install the specified gems to\. This defaults to Rubygems\' setting\. Bundler shares this location with Rubygems, \fBgem install \.\.\.\fR will have gem installed there, too\. Therefore, gems installed without a \fB\-\-path \.\.\.\fR setting will show up by calling \fBgem list\fR\. Accordingly, gems installed to other locations will not get listed\.
79
83
  .
@@ -205,6 +209,9 @@ The following is a list of all configuration keys and their purpose\. You can le
205
209
  \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
210
  .
207
211
  .IP "\(bu" 4
212
+ \fBignore_funding_requests\fR (\fBBUNDLE_IGNORE_FUNDING_REQUESTS\fR): When set, no funding requests will be printed\.
213
+ .
214
+ .IP "\(bu" 4
208
215
  \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\.
209
216
  .
210
217
  .IP "\(bu" 4
@@ -220,6 +227,9 @@ The following is a list of all configuration keys and their purpose\. You can le
220
227
  \fBno_prune\fR (\fBBUNDLE_NO_PRUNE\fR): Whether Bundler should leave outdated gems unpruned when caching\.
221
228
  .
222
229
  .IP "\(bu" 4
230
+ \fBonly\fR (\fBBUNDLE_ONLY\fR): A space\-separated list of groups to install only gems of the specified groups\.
231
+ .
232
+ .IP "\(bu" 4
223
233
  \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\.
224
234
  .
225
235
  .IP "\(bu" 4
@@ -288,7 +298,7 @@ The following is a list of all configuration keys and their purpose\. You can le
288
298
  .IP "" 0
289
299
  .
290
300
  .P
291
- In general, you should set these settings per\-application by using the applicable flag to the bundle install(1) \fIbundle\-install\.1\.html\fR or bundle package(1) \fIbundle\-package\.1\.html\fR command\.
301
+ In general, you should set these settings per\-application by using the applicable flag to the bundle install(1) \fIbundle\-install\.1\.html\fR or bundle cache(1) \fIbundle\-cache\.1\.html\fR command\.
292
302
  .
293
303
  .P
294
304
  You can set them globally either via environment variables or \fBbundle config\fR, whichever is preferable for your setup\. If you use both, environment variables will take preference over global settings\.
@@ -342,13 +352,13 @@ bundle config set \-\-global mirror\.SOURCE_URL MIRROR_URL
342
352
  .IP "" 0
343
353
  .
344
354
  .P
345
- For example, to use a mirror of rubygems\.org hosted at rubygems\-mirror\.org:
355
+ For example, to use a mirror of https://rubygems\.org hosted at https://example\.org:
346
356
  .
347
357
  .IP "" 4
348
358
  .
349
359
  .nf
350
360
 
351
- bundle config set \-\-global mirror\.http://rubygems\.org http://rubygems\-mirror\.org
361
+ bundle config set \-\-global mirror\.https://rubygems\.org https://example\.org
352
362
  .
353
363
  .fi
354
364
  .
@@ -43,8 +43,8 @@ local and global sources.
43
43
  Executing `bundle config unset --global <name>` will delete the configuration
44
44
  only from the user configuration.
45
45
 
46
- Executing `bundle config unset --local <name> <value>` will delete the
47
- configuration only from the local application.
46
+ Executing `bundle config unset --local <name>` will delete the configuration
47
+ only from the local application.
48
48
 
49
49
  Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
50
50
  cause it to ignore all configuration.
@@ -74,6 +74,9 @@ The options that can be configured are:
74
74
  `production` use. Please check carefully if you want to have this option
75
75
  enabled in `development` or `test` environments.
76
76
 
77
+ * `only`:
78
+ A space-separated list of groups to install only gems of the specified groups.
79
+
77
80
  * `path`:
78
81
  The location to install the specified gems to. This defaults to Rubygems'
79
82
  setting. Bundler shares this location with Rubygems, `gem install ...` will
@@ -204,6 +207,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
204
207
  * `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
205
208
  Whether Bundler should cache all gems globally, rather than locally to the
206
209
  installing Ruby installation.
210
+ * `ignore_funding_requests` (`BUNDLE_IGNORE_FUNDING_REQUESTS`):
211
+ When set, no funding requests will be printed.
207
212
  * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
208
213
  When set, no post install messages will be printed. To silence a single gem,
209
214
  use dot notation like `ignore_messages.httparty true`.
@@ -216,6 +221,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
216
221
  Whether `bundle package` should skip installing gems.
217
222
  * `no_prune` (`BUNDLE_NO_PRUNE`):
218
223
  Whether Bundler should leave outdated gems unpruned when caching.
224
+ * `only` (`BUNDLE_ONLY`):
225
+ A space-separated list of groups to install only gems of the specified groups.
219
226
  * `path` (`BUNDLE_PATH`):
220
227
  The location on disk where all gems in your bundle will be located regardless
221
228
  of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
@@ -273,7 +280,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
273
280
  A `:`-separated list of groups whose gems bundler should not install.
274
281
 
275
282
  In general, you should set these settings per-application by using the applicable
276
- flag to the [bundle install(1)](bundle-install.1.html) or [bundle package(1)](bundle-package.1.html) command.
283
+ flag to the [bundle install(1)](bundle-install.1.html) or [bundle cache(1)](bundle-cache.1.html) command.
277
284
 
278
285
  You can set them globally either via environment variables or `bundle config`,
279
286
  whichever is preferable for your setup. If you use both, environment variables
@@ -321,9 +328,9 @@ mirror to fetch gems.
321
328
 
322
329
  bundle config set --global mirror.SOURCE_URL MIRROR_URL
323
330
 
324
- For example, to use a mirror of rubygems.org hosted at rubygems-mirror.org:
331
+ For example, to use a mirror of https://rubygems.org hosted at https://example.org:
325
332
 
326
- bundle config set --global mirror.http://rubygems.org http://rubygems-mirror.org
333
+ bundle config set --global mirror.https://rubygems.org https://example.org
327
334
 
328
335
  Each mirror also provides a fallback timeout setting. If the mirror does not
329
336
  respond within the fallback timeout, Bundler will try to use the original
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-DOCTOR" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-DOCTOR" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-EXEC" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-EXEC" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
@@ -155,7 +155,7 @@ You can find a list of all the gems containing gem plugins by running
155
155
  .
156
156
  .nf
157
157
 
158
- ruby \-rrubygems \-e "puts Gem\.find_files(\'rubygems_plugin\.rb\')"
158
+ ruby \-e "puts Gem\.find_files(\'rubygems_plugin\.rb\')"
159
159
  .
160
160
  .fi
161
161
  .
@@ -145,7 +145,7 @@ their plugins.
145
145
  You can find a list of all the gems containing gem plugins
146
146
  by running
147
147
 
148
- ruby -rrubygems -e "puts Gem.find_files('rubygems_plugin.rb')"
148
+ ruby -e "puts Gem.find_files('rubygems_plugin.rb')"
149
149
 
150
150
  At the very least, you should remove all but the newest
151
151
  version of each gem plugin, and also remove all gem plugins
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-GEM" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-GEM" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INFO" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-INFO" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-info\fR \- Show information for the given gem in your bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INIT" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-INIT" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-init\fR \- Generates a Gemfile into the current working directory
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INJECT" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-INJECT" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
@@ -30,4 +30,7 @@ bundle inject \'rack\' \'> 0\'
30
30
  .IP "" 0
31
31
  .
32
32
  .P
33
- This will inject the \'rack\' gem with a version greater than 0 in your [\fBGemfile(5)\fR][Gemfile(5)] and Gemfile\.lock
33
+ This will inject the \'rack\' gem with a version greater than 0 in your [\fBGemfile(5)\fR][Gemfile(5)] and Gemfile\.lock\.
34
+ .
35
+ .P
36
+ The \fBbundle inject\fR command was deprecated in Bundler 2\.1 and will be removed in Bundler 3\.0\.
@@ -19,4 +19,6 @@ Example:
19
19
  bundle inject 'rack' '> 0'
20
20
 
21
21
  This will inject the 'rack' gem with a version greater than 0 in your
22
- [`Gemfile(5)`][Gemfile(5)] and Gemfile.lock
22
+ [`Gemfile(5)`][Gemfile(5)] and Gemfile.lock.
23
+
24
+ The `bundle inject` command was deprecated in Bundler 2.1 and will be removed in Bundler 3.0.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INSTALL" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-INSTALL" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
@@ -70,6 +70,10 @@ The maximum number of parallel download and install jobs\. The default is the nu
70
70
  Do not attempt to connect to \fBrubygems\.org\fR\. Instead, Bundler will use the gems already present in Rubygems\' cache or in \fBvendor/cache\fR\. Note that if an appropriate platform\-specific gem exists on \fBrubygems\.org\fR it will not be found\.
71
71
  .
72
72
  .TP
73
+ \fB\-\-prefer\-local\fR
74
+ Force using locally installed gems, or gems already present in Rubygems\' cache or in \fBvendor/cache\fR, when resolving, even if newer versions are available remotely\. Only attempt to connect to \fBrubygems\.org\fR for gems that are not present locally\.
75
+ .
76
+ .TP
73
77
  \fB\-\-no\-cache\fR
74
78
  Do not update the cache in \fBvendor/cache\fR with the newly bundled gems\. This does not remove any gems in the cache but keeps the newly bundled gems from being cached during the install\.
75
79
  .
@@ -109,6 +109,12 @@ automatically and that requires `bundler` to silently remember them. Since
109
109
  appropriate platform-specific gem exists on `rubygems.org` it will not be
110
110
  found.
111
111
 
112
+ * `--prefer-local`:
113
+ Force using locally installed gems, or gems already present in Rubygems' cache
114
+ or in `vendor/cache`, when resolving, even if newer versions are available
115
+ remotely. Only attempt to connect to `rubygems.org` for gems that are not
116
+ present locally.
117
+
112
118
  * `--no-cache`:
113
119
  Do not update the cache in `vendor/cache` with the newly bundled gems. This
114
120
  does not remove any gems in the cache but keeps the newly bundled gems from
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-LIST" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-LIST" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-list\fR \- List all the gems in the bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-LOCK" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-LOCK" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-OPEN" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-OPEN" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-OUTDATED" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-OUTDATED" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-outdated\fR \- List installed gems with newer versions available
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-PLATFORM" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-PLATFORM" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-platform\fR \- Displays platform compatibility information
@@ -10,7 +10,7 @@
10
10
  \fBbundle platform\fR [\-\-ruby]
11
11
  .
12
12
  .SH "DESCRIPTION"
13
- \fBplatform\fR will display information from your Gemfile, Gemfile\.lock, and Ruby VM about your platform\.
13
+ \fBplatform\fR displays information from your Gemfile, Gemfile\.lock, and Ruby VM about your platform\.
14
14
  .
15
15
  .P
16
16
  For instance, using this Gemfile(5):
@@ -21,7 +21,7 @@ For instance, using this Gemfile(5):
21
21
 
22
22
  source "https://rubygems\.org"
23
23
 
24
- ruby "1\.9\.3"
24
+ ruby "3\.1\.2"
25
25
 
26
26
  gem "rack"
27
27
  .
@@ -30,7 +30,7 @@ gem "rack"
30
30
  .IP "" 0
31
31
  .
32
32
  .P
33
- If you run \fBbundle platform\fR on Ruby 1\.9\.3, it will display the following output:
33
+ If you run \fBbundle platform\fR on Ruby 3\.1\.2, it displays the following output:
34
34
  .
35
35
  .IP "" 4
36
36
  .
@@ -39,10 +39,13 @@ If you run \fBbundle platform\fR on Ruby 1\.9\.3, it will display the following
39
39
  Your platform is: x86_64\-linux
40
40
 
41
41
  Your app has gems that work on these platforms:
42
+ * arm64\-darwin\-21
42
43
  * ruby
44
+ * x64\-mingw\-ucrt
45
+ * x86_64\-linux
43
46
 
44
47
  Your Gemfile specifies a Ruby version requirement:
45
- * ruby 1\.9\.3
48
+ * ruby 3\.1\.2
46
49
 
47
50
  Your current platform satisfies the Ruby version requirement\.
48
51
  .
@@ -51,11 +54,18 @@ Your current platform satisfies the Ruby version requirement\.
51
54
  .IP "" 0
52
55
  .
53
56
  .P
54
- \fBplatform\fR will list all the platforms in your \fBGemfile\.lock\fR as well as the \fBruby\fR directive if applicable from your Gemfile(5)\. It will also let you know if the \fBruby\fR directive requirement has been met\. If \fBruby\fR directive doesn\'t match the running Ruby VM, it will tell you what part does not\.
57
+ \fBplatform\fR lists all the platforms in your \fBGemfile\.lock\fR as well as the \fBruby\fR directive if applicable from your Gemfile(5)\. It also lets you know if the \fBruby\fR directive requirement has been met\. If \fBruby\fR directive doesn\'t match the running Ruby VM, it tells you what part does not\.
55
58
  .
56
59
  .SH "OPTIONS"
57
60
  .
58
61
  .TP
59
62
  \fB\-\-ruby\fR
60
63
  It will display the ruby directive information, so you don\'t have to parse it from the Gemfile(5)\.
64
+ .
65
+ .SH "SEE ALSO"
66
+ .
67
+ .IP "\(bu" 4
68
+ bundle\-lock(1) \fIbundle\-lock\.1\.ronn\fR
69
+ .
70
+ .IP "" 0
61
71