bundler 2.7.1 → 4.0.0.beta1

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 (144) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1001 -902
  3. data/README.md +4 -4
  4. data/bundler.gemspec +3 -3
  5. data/lib/bundler/build_metadata.rb +2 -2
  6. data/lib/bundler/capistrano.rb +1 -19
  7. data/lib/bundler/checksum.rb +6 -0
  8. data/lib/bundler/cli/cache.rb +1 -12
  9. data/lib/bundler/cli/common.rb +21 -4
  10. data/lib/bundler/cli/config.rb +1 -2
  11. data/lib/bundler/cli/console.rb +5 -0
  12. data/lib/bundler/cli/exec.rb +29 -4
  13. data/lib/bundler/cli/gem.rb +19 -33
  14. data/lib/bundler/cli/install.rb +7 -84
  15. data/lib/bundler/cli/issue.rb +2 -2
  16. data/lib/bundler/cli/list.rb +33 -2
  17. data/lib/bundler/cli/lock.rb +5 -5
  18. data/lib/bundler/cli/plugin.rb +5 -1
  19. data/lib/bundler/cli/show.rb +3 -7
  20. data/lib/bundler/cli/update.rb +3 -3
  21. data/lib/bundler/cli.rb +97 -95
  22. data/lib/bundler/compact_index_client.rb +0 -1
  23. data/lib/bundler/current_ruby.rb +3 -15
  24. data/lib/bundler/definition.rb +122 -95
  25. data/lib/bundler/deployment.rb +1 -64
  26. data/lib/bundler/digest.rb +1 -1
  27. data/lib/bundler/dsl.rb +14 -36
  28. data/lib/bundler/endpoint_specification.rb +0 -22
  29. data/lib/bundler/errors.rb +1 -5
  30. data/lib/bundler/feature_flag.rb +0 -33
  31. data/lib/bundler/fetcher/compact_index.rb +1 -1
  32. data/lib/bundler/friendly_errors.rb +2 -2
  33. data/lib/bundler/index.rb +0 -7
  34. data/lib/bundler/inline.rb +1 -1
  35. data/lib/bundler/installer/gem_installer.rb +0 -11
  36. data/lib/bundler/installer.rb +0 -6
  37. data/lib/bundler/lockfile_generator.rb +1 -1
  38. data/lib/bundler/lockfile_parser.rb +2 -12
  39. data/lib/bundler/man/bundle-add.1 +1 -1
  40. data/lib/bundler/man/bundle-binstubs.1 +3 -6
  41. data/lib/bundler/man/bundle-binstubs.1.ronn +4 -6
  42. data/lib/bundler/man/bundle-cache.1 +2 -14
  43. data/lib/bundler/man/bundle-cache.1.ronn +1 -14
  44. data/lib/bundler/man/bundle-check.1 +2 -5
  45. data/lib/bundler/man/bundle-check.1.ronn +0 -5
  46. data/lib/bundler/man/bundle-clean.1 +1 -1
  47. data/lib/bundler/man/bundle-config.1 +36 -46
  48. data/lib/bundler/man/bundle-config.1.ronn +69 -75
  49. data/lib/bundler/man/bundle-console.1 +1 -1
  50. data/lib/bundler/man/bundle-doctor.1 +4 -4
  51. data/lib/bundler/man/bundle-doctor.1.ronn +4 -4
  52. data/lib/bundler/man/bundle-env.1 +1 -1
  53. data/lib/bundler/man/bundle-exec.1 +2 -5
  54. data/lib/bundler/man/bundle-exec.1.ronn +1 -5
  55. data/lib/bundler/man/bundle-fund.1 +1 -1
  56. data/lib/bundler/man/bundle-gem.1 +3 -6
  57. data/lib/bundler/man/bundle-gem.1.ronn +2 -5
  58. data/lib/bundler/man/bundle-help.1 +1 -1
  59. data/lib/bundler/man/bundle-info.1 +1 -1
  60. data/lib/bundler/man/bundle-init.1 +1 -1
  61. data/lib/bundler/man/bundle-install.1 +8 -59
  62. data/lib/bundler/man/bundle-install.1.ronn +12 -107
  63. data/lib/bundler/man/bundle-issue.1 +1 -1
  64. data/lib/bundler/man/bundle-licenses.1 +1 -1
  65. data/lib/bundler/man/bundle-list.1 +6 -1
  66. data/lib/bundler/man/bundle-list.1.ronn +5 -0
  67. data/lib/bundler/man/bundle-lock.1 +1 -1
  68. data/lib/bundler/man/bundle-open.1 +1 -1
  69. data/lib/bundler/man/bundle-outdated.1 +1 -1
  70. data/lib/bundler/man/bundle-platform.1 +1 -1
  71. data/lib/bundler/man/bundle-plugin.1 +33 -15
  72. data/lib/bundler/man/bundle-plugin.1.ronn +36 -15
  73. data/lib/bundler/man/bundle-pristine.1 +1 -1
  74. data/lib/bundler/man/bundle-remove.1 +2 -8
  75. data/lib/bundler/man/bundle-remove.1.ronn +1 -8
  76. data/lib/bundler/man/bundle-show.1 +2 -5
  77. data/lib/bundler/man/bundle-show.1.ronn +0 -4
  78. data/lib/bundler/man/bundle-update.1 +1 -1
  79. data/lib/bundler/man/bundle-version.1 +1 -1
  80. data/lib/bundler/man/bundle.1 +1 -10
  81. data/lib/bundler/man/bundle.1.ronn +0 -9
  82. data/lib/bundler/man/gemfile.5 +1 -1
  83. data/lib/bundler/man/index.txt +0 -2
  84. data/lib/bundler/materialization.rb +1 -1
  85. data/lib/bundler/plugin/installer.rb +0 -10
  86. data/lib/bundler/plugin/source_list.rb +1 -1
  87. data/lib/bundler/plugin.rb +1 -1
  88. data/lib/bundler/resolver/package.rb +1 -0
  89. data/lib/bundler/resolver.rb +1 -1
  90. data/lib/bundler/ruby_dsl.rb +2 -0
  91. data/lib/bundler/ruby_version.rb +1 -3
  92. data/lib/bundler/rubygems_ext.rb +1 -1
  93. data/lib/bundler/rubygems_gem_installer.rb +1 -1
  94. data/lib/bundler/rubygems_integration.rb +1 -5
  95. data/lib/bundler/self_manager.rb +1 -1
  96. data/lib/bundler/settings.rb +8 -27
  97. data/lib/bundler/shared_helpers.rb +8 -20
  98. data/lib/bundler/source/gemspec.rb +4 -0
  99. data/lib/bundler/source/git/git_proxy.rb +3 -11
  100. data/lib/bundler/source/git.rb +2 -3
  101. data/lib/bundler/source/path.rb +5 -7
  102. data/lib/bundler/source/rubygems.rb +11 -17
  103. data/lib/bundler/source.rb +1 -1
  104. data/lib/bundler/source_list.rb +4 -45
  105. data/lib/bundler/source_map.rb +2 -5
  106. data/lib/bundler/spec_set.rb +6 -15
  107. data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +7 -129
  108. data/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
  109. data/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
  110. data/lib/bundler/templates/newgem/ext/newgem/extconf-go.rb.tt +11 -0
  111. data/lib/bundler/templates/newgem/ext/newgem/go.mod.tt +5 -0
  112. data/lib/bundler/templates/newgem/ext/newgem/newgem-go.c.tt +2 -0
  113. data/lib/bundler/templates/newgem/ext/newgem/newgem.go.tt +31 -0
  114. data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +6 -0
  115. data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  116. data/lib/bundler/templates/newgem/newgem.gemspec.tt +7 -4
  117. data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +26 -23
  118. data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  119. data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +50 -6
  120. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +57 -52
  121. data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +5 -2
  122. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +42 -6
  123. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +1 -1
  124. data/lib/bundler/vendor/thor/lib/thor/runner.rb +2 -2
  125. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +3 -7
  126. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  127. data/lib/bundler/vendor/uri/lib/uri/common.rb +57 -15
  128. data/lib/bundler/vendor/uri/lib/uri/file.rb +1 -1
  129. data/lib/bundler/vendor/uri/lib/uri/generic.rb +34 -21
  130. data/lib/bundler/vendor/uri/lib/uri/http.rb +12 -0
  131. data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +9 -8
  132. data/lib/bundler/vendor/uri/lib/uri/version.rb +2 -2
  133. data/lib/bundler/version.rb +1 -1
  134. data/lib/bundler/vlad.rb +1 -14
  135. data/lib/bundler.rb +6 -28
  136. metadata +9 -13
  137. data/lib/bundler/cli/inject.rb +0 -60
  138. data/lib/bundler/cli/viz.rb +0 -31
  139. data/lib/bundler/graph.rb +0 -152
  140. data/lib/bundler/man/bundle-inject.1 +0 -31
  141. data/lib/bundler/man/bundle-inject.1.ronn +0 -32
  142. data/lib/bundler/man/bundle-viz.1 +0 -30
  143. data/lib/bundler/man/bundle-viz.1.ronn +0 -36
  144. data/lib/bundler/similarity_detector.rb +0 -63
@@ -2,41 +2,8 @@
2
2
 
3
3
  module Bundler
4
4
  class FeatureFlag
5
- def self.settings_flag(flag, &default)
6
- unless Bundler::Settings::BOOL_KEYS.include?(flag.to_s)
7
- raise "Cannot use `#{flag}` as a settings feature flag since it isn't a bool key"
8
- end
9
-
10
- settings_method("#{flag}?", flag, &default)
11
- end
12
- private_class_method :settings_flag
13
-
14
- def self.settings_option(key, &default)
15
- settings_method(key, key, &default)
16
- end
17
- private_class_method :settings_option
18
-
19
- def self.settings_method(name, key, &default)
20
- define_method(name) do
21
- value = Bundler.settings[key]
22
- value = instance_eval(&default) if value.nil?
23
- value
24
- end
25
- end
26
- private_class_method :settings_method
27
-
28
5
  (1..10).each {|v| define_method("bundler_#{v}_mode?") { @major_version >= v } }
29
6
 
30
- settings_flag(:allow_offline_install) { bundler_4_mode? }
31
- settings_flag(:cache_all) { bundler_4_mode? }
32
- settings_flag(:forget_cli_options) { bundler_4_mode? }
33
- settings_flag(:global_gem_cache) { bundler_4_mode? }
34
- settings_flag(:lockfile_checksums) { bundler_4_mode? }
35
- settings_flag(:plugins) { @bundler_version >= Gem::Version.new("1.14") }
36
- settings_flag(:update_requires_all_flag) { bundler_5_mode? }
37
-
38
- settings_option(:default_cli_command) { bundler_4_mode? ? :cli_help : :install }
39
-
40
7
  def removed_major?(target_major_version)
41
8
  @major_version > target_major_version
42
9
  end
@@ -110,7 +110,7 @@ module Bundler
110
110
  def call(path, headers)
111
111
  fetcher.downloader.fetch(fetcher.fetch_uri + path, headers)
112
112
  rescue NetworkDownError => e
113
- raise unless Bundler.feature_flag.allow_offline_install? && headers["If-None-Match"]
113
+ raise unless headers["If-None-Match"]
114
114
  ui.warn "Using the cached data for the new index because of a network error: #{e}"
115
115
  Gem::Net::HTTPNotModified.new(nil, nil, nil)
116
116
  end
@@ -104,12 +104,12 @@ module Bundler
104
104
  message = message.split("-").first if exception.is_a?(Errno)
105
105
  require "cgi/escape"
106
106
  require "cgi/util" unless defined?(CGI::EscapeExt)
107
- "https://github.com/rubygems/rubygems/search?q=" \
107
+ "https://github.com/ruby/rubygems/search?q=" \
108
108
  "#{CGI.escape(message)}&type=Issues"
109
109
  end
110
110
 
111
111
  def new_issue_url
112
- "https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md"
112
+ "https://github.com/ruby/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md"
113
113
  end
114
114
  end
115
115
 
data/lib/bundler/index.rb CHANGED
@@ -46,13 +46,6 @@ module Bundler
46
46
  true
47
47
  end
48
48
 
49
- def search_all(name, &blk)
50
- return enum_for(:search_all, name) unless blk
51
- specs_by_name(name).each(&blk)
52
- @duplicates[name]&.each(&blk)
53
- @sources.each {|source| source.search_all(name, &blk) }
54
- end
55
-
56
49
  # Search this index's specs, and any source indexes that this index knows
57
50
  # about, returning all of the results.
58
51
  def search(query)
@@ -51,7 +51,7 @@ def gemfile(force_latest_compatible = false, options = {}, &gemfile)
51
51
  Bundler.instance_variable_set(:@bundle_path, Pathname.new(Gem.dir))
52
52
  Bundler::SharedHelpers.set_env "BUNDLE_GEMFILE", "Gemfile"
53
53
 
54
- Bundler::Plugin.gemfile_install(&gemfile) if Bundler.feature_flag.plugins?
54
+ Bundler::Plugin.gemfile_install(&gemfile) if Bundler.settings[:plugins]
55
55
  builder = Bundler::Dsl.new
56
56
  builder.instance_eval(&gemfile)
57
57
 
@@ -16,7 +16,6 @@ module Bundler
16
16
  def install_from_spec
17
17
  post_install_message = install
18
18
  Bundler.ui.debug "#{worker}: #{spec.name} (#{spec.version}) from #{spec.loaded_from}"
19
- generate_executable_stubs
20
19
  [true, post_install_message]
21
20
  rescue Bundler::InstallHookError, Bundler::SecurityError, Bundler::APIResponseMismatchError, Bundler::InsecureInstallPathError
22
21
  raise
@@ -71,15 +70,5 @@ module Bundler
71
70
  def out_of_space_message
72
71
  "#{install_error_message}\nYour disk is out of space. Free some space to be able to install your bundle."
73
72
  end
74
-
75
- def generate_executable_stubs
76
- return if Bundler.feature_flag.forget_cli_options?
77
- return if Bundler.settings[:inline]
78
- if Bundler.settings[:bin] && standalone
79
- installer.generate_standalone_bundler_executable_stubs(spec)
80
- elsif Bundler.settings[:bin]
81
- installer.generate_bundler_executable_stubs(spec, force: true)
82
- end
83
- end
84
73
  end
85
74
  end
@@ -7,12 +7,6 @@ require_relative "installer/gem_installer"
7
7
 
8
8
  module Bundler
9
9
  class Installer
10
- class << self
11
- attr_accessor :ambiguous_gems
12
-
13
- Installer.ambiguous_gems = []
14
- end
15
-
16
10
  attr_reader :post_install_messages, :definition
17
11
 
18
12
  # Begins the installation process for Bundler.
@@ -95,7 +95,7 @@ module Bundler
95
95
  out << " #{key}: #{val}\n"
96
96
  end
97
97
  when String
98
- out << " #{value}\n"
98
+ out << " #{value}\n"
99
99
  else
100
100
  raise ArgumentError, "#{value.inspect} can't be serialized in a lockfile"
101
101
  end
@@ -141,18 +141,8 @@ module Bundler
141
141
  @pos.advance!(line)
142
142
  end
143
143
 
144
- if !Bundler.frozen_bundle? && @platforms.include?(Gem::Platform::X64_MINGW_LEGACY)
145
- if @platforms.include?(Gem::Platform::X64_MINGW)
146
- @platforms.delete(Gem::Platform::X64_MINGW_LEGACY)
147
- SharedHelpers.major_deprecation(2,
148
- "Found x64-mingw32 in lockfile, which is deprecated. Removing it. Support for x64-mingw32 will be removed in Bundler 4.0.",
149
- removed_message: "Found x64-mingw32 in lockfile, which is no longer supported as of Bundler 4.0.")
150
- else
151
- @platforms[@platforms.index(Gem::Platform::X64_MINGW_LEGACY)] = Gem::Platform::X64_MINGW
152
- SharedHelpers.major_deprecation(2,
153
- "Found x64-mingw32 in lockfile, which is deprecated. Using x64-mingw-ucrt, the replacement for x64-mingw32 in modern rubies, instead. Support for x64-mingw32 will be removed in Bundler 4.0.",
154
- removed_message: "Found x64-mingw32 in lockfile, which is no longer supported as of Bundler 4.0.")
155
- end
144
+ if @platforms.include?(Gem::Platform::X64_MINGW_LEGACY)
145
+ SharedHelpers.feature_deprecated!("Found x64-mingw32 in lockfile, which is deprecated and will be removed in the future.")
156
146
  end
157
147
 
158
148
  @most_specific_locked_platform = @platforms.min_by do |bundle_platform|
@@ -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\-ADD" "1" "July 2025" ""
3
+ .TH "BUNDLE\-ADD" "1" "September 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
6
6
  .SH "SYNOPSIS"
@@ -1,24 +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\-BINSTUBS" "1" "July 2025" ""
3
+ .TH "BUNDLE\-BINSTUBS" "1" "September 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
6
6
  .SH "SYNOPSIS"
7
- \fBbundle binstubs\fR \fIGEM_NAME\fR [\-\-force] [\-\-path PATH] [\-\-standalone] [\-\-all\-platforms]
7
+ \fBbundle binstubs\fR \fIGEM_NAME\fR [\-\-force] [\-\-standalone] [\-\-all\-platforms]
8
8
  .SH "DESCRIPTION"
9
9
  Binstubs are scripts that wrap around executables\. Bundler creates a small Ruby file (a binstub) that loads Bundler, runs the command, and puts it into \fBbin/\fR\. Binstubs are a shortcut\-or alternative\- to always using \fBbundle exec\fR\. This gives you a file that can be run directly, and one that will always run the correct gem version used by the application\.
10
10
  .P
11
11
  For example, if you run \fBbundle binstubs rspec\-core\fR, Bundler will create the file \fBbin/rspec\fR\. That file will contain enough code to load Bundler, tell it to load the bundled gems, and then run rspec\.
12
12
  .P
13
- This command generates binstubs for executables in \fBGEM_NAME\fR\. Binstubs are put into \fBbin\fR, or the \fB\-\-path\fR directory if one has been set\. Calling binstubs with [GEM [GEM]] will create binstubs for all given gems\.
13
+ This command generates binstubs for executables in \fBGEM_NAME\fR\. Binstubs are put into \fBbin\fR, or the directory specified by \fBbin\fR setting if it has been configured\. Calling binstubs with [GEM [GEM]] will create binstubs for all given gems\.
14
14
  .SH "OPTIONS"
15
15
  .TP
16
16
  \fB\-\-force\fR
17
17
  Overwrite existing binstubs if they exist\.
18
18
  .TP
19
- \fB\-\-path[=PATH]\fR
20
- The location to install the specified binstubs to\. This defaults to \fBbin\fR\.
21
- .TP
22
19
  \fB\-\-standalone\fR
23
20
  Makes binstubs that can work without depending on Rubygems or Bundler at runtime\.
24
21
  .TP
@@ -3,7 +3,7 @@ bundle-binstubs(1) -- Install the binstubs of the listed gems
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle binstubs` <GEM_NAME> [--force] [--path PATH] [--standalone] [--all-platforms]
6
+ `bundle binstubs` <GEM_NAME> [--force] [--standalone] [--all-platforms]
7
7
 
8
8
  ## DESCRIPTION
9
9
 
@@ -19,17 +19,15 @@ the file `bin/rspec`. That file will contain enough code to load Bundler,
19
19
  tell it to load the bundled gems, and then run rspec.
20
20
 
21
21
  This command generates binstubs for executables in `GEM_NAME`.
22
- Binstubs are put into `bin`, or the `--path` directory if one has been set.
23
- Calling binstubs with [GEM [GEM]] will create binstubs for all given gems.
22
+ Binstubs are put into `bin`, or the directory specified by `bin` setting if it
23
+ has been configured. Calling binstubs with [GEM [GEM]] will create binstubs for
24
+ all given gems.
24
25
 
25
26
  ## OPTIONS
26
27
 
27
28
  * `--force`:
28
29
  Overwrite existing binstubs if they exist.
29
30
 
30
- * `--path[=PATH]`:
31
- The location to install the specified binstubs to. This defaults to `bin`.
32
-
33
31
  * `--standalone`:
34
32
  Makes binstubs that can work without depending on Rubygems or Bundler at
35
33
  runtime.
@@ -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\-CACHE" "1" "July 2025" ""
3
+ .TH "BUNDLE\-CACHE" "1" "September 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
6
6
  .SH "SYNOPSIS"
@@ -11,9 +11,6 @@ alias: \fBpackage\fR, \fBpack\fR
11
11
  Copy all of the \fB\.gem\fR files needed to run the application into the \fBvendor/cache\fR directory\. In the future, when running \fBbundle install(1)\fR \fIbundle\-install\.1\.html\fR, use the gems in the cache in preference to the ones on \fBrubygems\.org\fR\.
12
12
  .SH "OPTIONS"
13
13
  .TP
14
- \fB\-\-all\fR
15
- Include all sources (including path and git)\.
16
- .TP
17
14
  \fB\-\-all\-platforms\fR
18
15
  Include gems for all platforms present in the lockfile, not only the current one\.
19
16
  .TP
@@ -26,19 +23,10 @@ Use the specified gemfile instead of Gemfile\.
26
23
  \fB\-\-no\-install\fR
27
24
  Don't install the gems, only update the cache\.
28
25
  .TP
29
- \fB\-\-no\-prune\fR
30
- Don't remove stale gems from the cache\.
31
- .TP
32
- \fB\-\-path=PATH\fR
33
- Specify a different path than the system default ($BUNDLE_PATH or $GEM_HOME)\.
34
- .TP
35
26
  \fB\-\-quiet\fR
36
27
  Only output warnings and errors\.
37
- .TP
38
- \fB\-\-frozen\fR
39
- Do not allow the Gemfile\.lock to be updated after this bundle cache operation's install\.
40
28
  .SH "GIT AND PATH GEMS"
41
- The \fBbundle cache\fR command can also package \fB:git\fR and \fB:path\fR dependencies besides \.gem files\. This needs to be explicitly enabled via the \fB\-\-all\fR option\. Once used, the \fB\-\-all\fR option will be remembered\.
29
+ The \fBbundle cache\fR command can also package \fB:git\fR and \fB:path\fR dependencies besides \.gem files\. This can be disabled setting \fBcache_all\fR to false\.
42
30
  .SH "SUPPORT FOR MULTIPLE PLATFORMS"
43
31
  When using gems that have different packages for different platforms, Bundler supports caching of gems for other platforms where the Gemfile has been resolved (i\.e\. present in the lockfile) in \fBvendor/cache\fR\. This needs to be enabled via the \fB\-\-all\-platforms\fR option\. This setting will be remembered in your local bundler configuration\.
44
32
  .SH "REMOTE FETCHING"
@@ -15,9 +15,6 @@ use the gems in the cache in preference to the ones on `rubygems.org`.
15
15
 
16
16
  ## OPTIONS
17
17
 
18
- * `--all`:
19
- Include all sources (including path and git).
20
-
21
18
  * `--all-platforms`:
22
19
  Include gems for all platforms present in the lockfile, not only the current one.
23
20
 
@@ -30,23 +27,13 @@ use the gems in the cache in preference to the ones on `rubygems.org`.
30
27
  * `--no-install`:
31
28
  Don't install the gems, only update the cache.
32
29
 
33
- * `--no-prune`:
34
- Don't remove stale gems from the cache.
35
-
36
- * `--path=PATH`:
37
- Specify a different path than the system default ($BUNDLE_PATH or $GEM_HOME).
38
-
39
30
  * `--quiet`:
40
31
  Only output warnings and errors.
41
32
 
42
- * `--frozen`:
43
- Do not allow the Gemfile.lock to be updated after this bundle cache operation's install.
44
-
45
33
  ## GIT AND PATH GEMS
46
34
 
47
35
  The `bundle cache` command can also package `:git` and `:path` dependencies
48
- besides .gem files. This needs to be explicitly enabled via the `--all` option.
49
- Once used, the `--all` option will be remembered.
36
+ besides .gem files. This can be disabled setting `cache_all` to false.
50
37
 
51
38
  ## SUPPORT FOR MULTIPLE PLATFORMS
52
39
 
@@ -1,10 +1,10 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
2
  .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
- .TH "BUNDLE\-CHECK" "1" "July 2025" ""
3
+ .TH "BUNDLE\-CHECK" "1" "September 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
6
6
  .SH "SYNOPSIS"
7
- \fBbundle check\fR [\-\-dry\-run] [\-\-gemfile=FILE] [\-\-path=PATH]
7
+ \fBbundle check\fR [\-\-dry\-run] [\-\-gemfile=FILE]
8
8
  .SH "DESCRIPTION"
9
9
  \fBcheck\fR searches the local machine for each of the gems requested in the Gemfile\. If all gems are found, Bundler prints a success message and exits with a status of 0\.
10
10
  .P
@@ -18,7 +18,4 @@ Locks the [\fBGemfile(5)\fR][Gemfile(5)] before running the command\.
18
18
  .TP
19
19
  \fB\-\-gemfile=GEMFILE\fR
20
20
  Use the specified gemfile instead of the [\fBGemfile(5)\fR][Gemfile(5)]\.
21
- .TP
22
- \fB\-\-path=PATH\fR
23
- Specify a different path than the system default (\fB$BUNDLE_PATH\fR or \fB$GEM_HOME\fR)\. Bundler will remember this value for future installs on this machine\.
24
21
 
@@ -5,7 +5,6 @@ bundle-check(1) -- Verifies if dependencies are satisfied by installed gems
5
5
 
6
6
  `bundle check` [--dry-run]
7
7
  [--gemfile=FILE]
8
- [--path=PATH]
9
8
 
10
9
  ## DESCRIPTION
11
10
 
@@ -25,7 +24,3 @@ installed on the local machine, if they satisfy the requirements.
25
24
 
26
25
  * `--gemfile=GEMFILE`:
27
26
  Use the specified gemfile instead of the [`Gemfile(5)`][Gemfile(5)].
28
-
29
- * `--path=PATH`:
30
- Specify a different path than the system default (`$BUNDLE_PATH` or `$GEM_HOME`).
31
- Bundler will remember this value for future installs on this machine.
@@ -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\-CLEAN" "1" "July 2025" ""
3
+ .TH "BUNDLE\-CLEAN" "1" "September 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
6
6
  .SH "SYNOPSIS"
@@ -1,16 +1,16 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
2
  .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
- .TH "BUNDLE\-CONFIG" "1" "July 2025" ""
3
+ .TH "BUNDLE\-CONFIG" "1" "September 2025" ""
4
4
  .SH "NAME"
5
5
  \fBbundle\-config\fR \- Set bundler configuration options
6
6
  .SH "SYNOPSIS"
7
- \fBbundle config\fR list
7
+ \fBbundle config\fR [list]
8
8
  .br
9
- \fBbundle config\fR [get] NAME
9
+ \fBbundle config\fR [get [\-\-local|\-\-global]] NAME
10
10
  .br
11
- \fBbundle config\fR [set] NAME VALUE
11
+ \fBbundle config\fR [set [\-\-local|\-\-global]] NAME VALUE
12
12
  .br
13
- \fBbundle config\fR unset NAME
13
+ \fBbundle config\fR unset [\-\-local|\-\-global] NAME
14
14
  .SH "DESCRIPTION"
15
15
  This command allows you to interact with Bundler's configuration system\.
16
16
  .P
@@ -25,23 +25,40 @@ Global config (\fB~/\.bundle/config\fR)
25
25
  Bundler default config
26
26
  .IP "" 0
27
27
  .P
28
+ Executing \fBbundle\fR with the \fBBUNDLE_IGNORE_CONFIG\fR environment variable set will cause it to ignore all configuration\.
29
+ .SH "SUB\-COMMANDS"
30
+ .SS "list (default command)"
28
31
  Executing \fBbundle config list\fR will print a list of all bundler configuration for the current bundle, and where that configuration was set\.
32
+ .SS "get"
33
+ Executing \fBbundle config get <name>\fR will print the value of that configuration setting, and all locations where it was set\.
29
34
  .P
30
- Executing \fBbundle config get <name>\fR will print the value of that configuration setting, and where it was set\.
31
- .P
32
- Executing \fBbundle config set <name> <value>\fR defaults to setting \fBlocal\fR configuration if executing from within a local application, otherwise it will set \fBglobal\fR configuration\. See \fB\-\-local\fR and \fB\-\-global\fR options below\.
35
+ \fBOPTIONS\fR
36
+ .TP
37
+ \fB\-\-local\fR
38
+ Get configuration from configuration file for the local application, namely, \fB<project_root>/\.bundle/config\fR, or \fB$BUNDLE_APP_CONFIG/config\fR if \fBBUNDLE_APP_CONFIG\fR is set\.
39
+ .TP
40
+ \fB\-\-global\fR
41
+ Get configuration from configuration file global to all bundles executed as the current user, namely, from \fB~/\.bundle/config\fR\.
42
+ .SS "set"
43
+ Executing \fBbundle config set <name> <value>\fR defaults to setting \fBlocal\fR configuration if executing from within a local application, otherwise it will set \fBglobal\fR configuration\.
33
44
  .P
45
+ \fBOPTIONS\fR
46
+ .TP
47
+ \fB\-\-local\fR
34
48
  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\.
35
- .P
49
+ .TP
50
+ \fB\-\-global\fR
36
51
  Executing \fBbundle config set \-\-global <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\.
37
- .P
52
+ .SS "unset"
38
53
  Executing \fBbundle config unset <name>\fR will delete the configuration in both local and global sources\.
39
54
  .P
40
- Executing \fBbundle config unset \-\-global <name>\fR will delete the configuration only from the user configuration\.
41
- .P
55
+ \fBOPTIONS\fR
56
+ .TP
57
+ \fB\-\-local\fR
42
58
  Executing \fBbundle config unset \-\-local <name>\fR will delete the configuration only from the local application\.
43
- .P
44
- Executing bundle with the \fBBUNDLE_IGNORE_CONFIG\fR environment variable set will cause it to ignore all configuration\.
59
+ .TP
60
+ \fB\-\-global\fR
61
+ Executing \fBbundle config unset \-\-global <name>\fR will delete the configuration only from the user configuration\.
45
62
  .SH "CONFIGURATION KEYS"
46
63
  Configuration keys in bundler have two forms: the canonical form and the environment variable form\.
47
64
  .P
@@ -53,14 +70,11 @@ Any periods in the configuration keys must be replaced with two underscores when
53
70
  .SH "LIST OF AVAILABLE KEYS"
54
71
  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\.
55
72
  .TP
56
- \fBallow_offline_install\fR (\fBBUNDLE_ALLOW_OFFLINE_INSTALL\fR)
57
- Allow Bundler to use cached data when installing without network access\.
58
- .TP
59
73
  \fBauto_install\fR (\fBBUNDLE_AUTO_INSTALL\fR)
60
74
  Automatically run \fBbundle install\fR when gems are missing\.
61
75
  .TP
62
76
  \fBbin\fR (\fBBUNDLE_BIN\fR)
63
- Install executables from gems in the bundle to the specified directory\. Defaults to \fBfalse\fR\.
77
+ If configured, \fBbundle binstubs\fR will install executables from gems in the bundle to the specified directory\. Otherwise it will create them in a \fBbin\fR directory relative to the Gemfile directory\. These executables run in Bundler's context\. If used, you might add this directory to your environment's \fBPATH\fR variable\. For instance, if the \fBrails\fR gem comes with a \fBrails\fR executable, \fBbundle binstubs\fR will create a \fBbin/rails\fR executable that ensures that all referred dependencies will be resolved using the bundled gems\.
64
78
  .TP
65
79
  \fBcache_all\fR (\fBBUNDLE_CACHE_ALL\fR)
66
80
  Cache all gems, including path and git gems\. This needs to be explicitly before bundler 4, but will be the default on bundler 4\.
@@ -132,7 +146,7 @@ Generate a \fBgems\.rb\fR instead of a \fBGemfile\fR when running \fBbundle init
132
146
  The number of gems Bundler can install in parallel\. Defaults to the number of available processors\.
133
147
  .TP
134
148
  \fBlockfile_checksums\fR (\fBBUNDLE_LOCKFILE_CHECKSUMS\fR)
135
- Whether Bundler should include a checksums section in new lockfiles, to protect from compromised gem sources\.
149
+ Whether Bundler should include a checksums section in new lockfiles, to protect from compromised gem sources\. Defaults to true\.
136
150
  .TP
137
151
  \fBno_install\fR (\fBBUNDLE_NO_INSTALL\fR)
138
152
  Whether \fBbundle package\fR should skip installing gems\.
@@ -141,10 +155,10 @@ Whether \fBbundle package\fR should skip installing gems\.
141
155
  Whether Bundler should leave outdated gems unpruned when caching\.
142
156
  .TP
143
157
  \fBonly\fR (\fBBUNDLE_ONLY\fR)
144
- A space\-separated list of groups to install only gems of the specified groups\.
158
+ A space\-separated list of groups to install only gems of the specified groups\. Please check carefully if you want to install also gems without a group, because they get put inside \fBdefault\fR group\. For example \fBonly test:default\fR will install all gems specified in test group and without one\.
145
159
  .TP
146
160
  \fBpath\fR (\fBBUNDLE_PATH\fR)
147
- 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 \fB\.bundle\fR relative to repository root in Bundler 4, and to the default system path (\fBGem\.dir\fR) before Bundler 4\.
161
+ 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\. When not set, Bundler install by default to a \fB\.bundle\fR directory relative to repository root in Bundler 4, and to the default system path (\fBGem\.dir\fR) before Bundler 4\. That means that before Bundler 4, Bundler shares this location with Rubygems, and \fBgem install \|\.\|\.\|\.\fR will have gems installed in the same location and therefore, gems installed without \fBpath\fR set will show up by calling \fBgem list\fR\. This will not be the case in Bundler 4\.
148
162
  .TP
149
163
  \fBpath\.system\fR (\fBBUNDLE_PATH__SYSTEM\fR)
150
164
  Whether Bundler will install gems into the default system path (\fBGem\.dir\fR)\.
@@ -205,30 +219,6 @@ A space\-separated or \fB:\fR\-separated list of groups whose gems bundler shoul
205
219
  .TP
206
220
  \fBwithout\fR (\fBBUNDLE_WITHOUT\fR)
207
221
  A space\-separated or \fB:\fR\-separated list of groups whose gems bundler should not install\.
208
- .SH "REMEMBERING OPTIONS"
209
- 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)\.
210
- .P
211
- However, this will be changed in bundler 4, 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)\.
212
- .P
213
- The flags that can be configured are:
214
- .TP
215
- \fB\-\-bin\fR
216
- Creates a directory (defaults to \fB~/bin\fR) and place any executables from the gem there\. These executables run in Bundler's context\. If used, you might add this directory to your environment's \fBPATH\fR variable\. For instance, if the \fBrails\fR gem comes with a \fBrails\fR executable, this flag will create a \fBbin/rails\fR executable that ensures that all referred dependencies will be resolved using the bundled gems\.
217
- .TP
218
- \fB\-\-deployment\fR
219
- 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\.
220
- .TP
221
- \fB\-\-only\fR
222
- A space\-separated list of groups to install only gems of the specified groups\. Please check carefully if you want to install also gems without a group, cause they get put inside \fBdefault\fR group\. For example \fBonly test:default\fR will install all gems specified in test group and without one\.
223
- .TP
224
- \fB\-\-path\fR
225
- 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\.
226
- .TP
227
- \fB\-\-without\fR
228
- A space\-separated or \fB:\fR\-separated list of groups referencing gems to skip during installation\.
229
- .TP
230
- \fB\-\-with\fR
231
- A space\-separated or \fB:\fR\-separated list of \fBoptional\fR groups referencing gems to include during installation\.
232
222
  .SH "BUILD OPTIONS"
233
223
  You can use \fBbundle config\fR to give Bundler the flags to pass to the gem installer every time bundler tries to install a particular gem\.
234
224
  .P
@@ -322,7 +312,7 @@ export BUNDLE_GEMS__LONGEROUS__COM="claudette:s00pers3krit"
322
312
  For gems with a git source with HTTP(S) URL you can specify credentials like so:
323
313
  .IP "" 4
324
314
  .nf
325
- bundle config set \-\-global https://github\.com/rubygems/rubygems\.git username:password
315
+ bundle config set \-\-global https://github\.com/ruby/rubygems\.git username:password
326
316
  .fi
327
317
  .IP "" 0
328
318
  .P