bundler 2.5.23 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +59 -0
- data/bundler.gemspec +2 -2
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/console.rb +0 -4
- data/lib/bundler/cli/doctor.rb +4 -4
- data/lib/bundler/cli/exec.rb +1 -0
- data/lib/bundler/cli/gem.rb +1 -1
- data/lib/bundler/cli/info.rb +2 -2
- data/lib/bundler/cli/inject.rb +1 -1
- data/lib/bundler/cli/install.rb +4 -0
- data/lib/bundler/cli/lock.rb +20 -1
- data/lib/bundler/cli/pristine.rb +1 -1
- data/lib/bundler/cli/show.rb +2 -2
- data/lib/bundler/cli.rb +22 -53
- data/lib/bundler/compact_index_client/cache_file.rb +0 -5
- data/lib/bundler/compact_index_client/updater.rb +0 -11
- data/lib/bundler/definition.rb +134 -61
- data/lib/bundler/dependency.rb +1 -1
- data/lib/bundler/dsl.rb +2 -13
- data/lib/bundler/endpoint_specification.rb +10 -1
- data/lib/bundler/errors.rb +10 -0
- data/lib/bundler/feature_flag.rb +1 -0
- data/lib/bundler/fetcher/compact_index.rb +1 -1
- data/lib/bundler/fetcher.rb +10 -3
- data/lib/bundler/gem_helpers.rb +21 -5
- data/lib/bundler/injector.rb +2 -2
- data/lib/bundler/installer/standalone.rb +2 -2
- data/lib/bundler/installer.rb +4 -38
- data/lib/bundler/lazy_specification.rb +65 -24
- data/lib/bundler/lockfile_parser.rb +9 -1
- data/lib/bundler/man/bundle-add.1 +13 -10
- data/lib/bundler/man/bundle-add.1.ronn +12 -9
- data/lib/bundler/man/bundle-binstubs.1 +7 -4
- data/lib/bundler/man/bundle-binstubs.1.ronn +6 -3
- data/lib/bundler/man/bundle-cache.1 +30 -2
- data/lib/bundler/man/bundle-cache.1.ronn +31 -2
- data/lib/bundler/man/bundle-check.1 +3 -3
- data/lib/bundler/man/bundle-check.1.ronn +4 -2
- data/lib/bundler/man/bundle-clean.1 +1 -1
- data/lib/bundler/man/bundle-config.1 +3 -1
- data/lib/bundler/man/bundle-config.1.ronn +2 -0
- data/lib/bundler/man/bundle-console.1 +2 -4
- data/lib/bundler/man/bundle-console.1.ronn +2 -7
- data/lib/bundler/man/bundle-doctor.1 +2 -2
- data/lib/bundler/man/bundle-doctor.1.ronn +1 -1
- data/lib/bundler/man/bundle-env.1 +9 -0
- data/lib/bundler/man/bundle-env.1.ronn +10 -0
- data/lib/bundler/man/bundle-exec.1 +5 -2
- data/lib/bundler/man/bundle-exec.1.ronn +4 -1
- data/lib/bundler/man/bundle-fund.1 +22 -0
- data/lib/bundler/man/bundle-fund.1.ronn +25 -0
- data/lib/bundler/man/bundle-gem.1 +17 -5
- data/lib/bundler/man/bundle-gem.1.ronn +27 -6
- data/lib/bundler/man/bundle-help.1 +1 -1
- data/lib/bundler/man/bundle-info.1 +5 -2
- data/lib/bundler/man/bundle-info.1.ronn +6 -2
- data/lib/bundler/man/bundle-init.1 +3 -3
- data/lib/bundler/man/bundle-init.1.ronn +3 -2
- data/lib/bundler/man/bundle-inject.1 +10 -2
- data/lib/bundler/man/bundle-inject.1.ronn +9 -1
- data/lib/bundler/man/bundle-install.1 +14 -11
- data/lib/bundler/man/bundle-install.1.ronn +21 -16
- data/lib/bundler/man/bundle-issue.1 +45 -0
- data/lib/bundler/man/bundle-issue.1.ronn +37 -0
- data/lib/bundler/man/bundle-licenses.1 +9 -0
- data/lib/bundler/man/bundle-licenses.1.ronn +10 -0
- data/lib/bundler/man/bundle-list.1 +1 -1
- data/lib/bundler/man/bundle-list.1.ronn +4 -1
- data/lib/bundler/man/bundle-lock.1 +21 -6
- data/lib/bundler/man/bundle-lock.1.ronn +25 -4
- data/lib/bundler/man/bundle-open.1 +2 -2
- data/lib/bundler/man/bundle-open.1.ronn +2 -1
- data/lib/bundler/man/bundle-outdated.1 +8 -5
- data/lib/bundler/man/bundle-outdated.1.ronn +8 -4
- data/lib/bundler/man/bundle-platform.1 +1 -1
- data/lib/bundler/man/bundle-plugin.1 +1 -1
- data/lib/bundler/man/bundle-pristine.1 +1 -1
- data/lib/bundler/man/bundle-pristine.1.ronn +1 -1
- data/lib/bundler/man/bundle-remove.1 +1 -1
- data/lib/bundler/man/bundle-remove.1.ronn +1 -1
- data/lib/bundler/man/bundle-show.1 +5 -2
- data/lib/bundler/man/bundle-show.1.ronn +4 -0
- data/lib/bundler/man/bundle-update.1 +13 -7
- data/lib/bundler/man/bundle-update.1.ronn +14 -6
- data/lib/bundler/man/bundle-version.1 +1 -1
- data/lib/bundler/man/bundle-viz.1 +4 -4
- data/lib/bundler/man/bundle-viz.1.ronn +7 -3
- data/lib/bundler/man/bundle.1 +1 -1
- data/lib/bundler/man/gemfile.5 +1 -1
- data/lib/bundler/man/index.txt +4 -0
- data/lib/bundler/materialization.rb +59 -0
- data/lib/bundler/plugin/events.rb +24 -0
- data/lib/bundler/plugin/installer.rb +1 -1
- data/lib/bundler/process_lock.rb +1 -1
- data/lib/bundler/remote_specification.rb +6 -1
- data/lib/bundler/resolver/base.rb +2 -6
- data/lib/bundler/resolver/candidate.rb +2 -2
- data/lib/bundler/resolver/spec_group.rb +4 -3
- data/lib/bundler/resolver.rb +5 -5
- data/lib/bundler/rubygems_ext.rb +17 -28
- data/lib/bundler/rubygems_gem_installer.rb +0 -1
- data/lib/bundler/rubygems_integration.rb +21 -11
- data/lib/bundler/runtime.rb +27 -7
- data/lib/bundler/self_manager.rb +2 -3
- data/lib/bundler/settings.rb +1 -0
- data/lib/bundler/shared_helpers.rb +2 -2
- data/lib/bundler/source/git/git_proxy.rb +0 -6
- data/lib/bundler/source/git.rb +56 -31
- data/lib/bundler/source/path.rb +2 -2
- data/lib/bundler/source_list.rb +1 -1
- data/lib/bundler/spec_set.rb +81 -56
- data/lib/bundler/stub_specification.rb +8 -0
- data/lib/bundler/templates/newgem/README.md.tt +1 -1
- data/lib/bundler/uri_credentials_filter.rb +1 -1
- data/lib/bundler/vendor/fileutils/COPYING +56 -0
- data/lib/bundler/vendor/fileutils/lib/fileutils.rb +15 -13
- data/lib/bundler/vendor/securerandom/COPYING +56 -0
- data/lib/bundler/vendor/securerandom/lib/securerandom.rb +5 -5
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +3 -5
- data/lib/bundler/vendor/thor/lib/thor/group.rb +11 -0
- data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +1 -4
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +2 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +9 -9
- data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +5 -21
- data/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor.rb +11 -0
- data/lib/bundler/vendor/uri/COPYING +56 -0
- data/lib/bundler/vendor/uri/lib/uri/common.rb +37 -16
- data/lib/bundler/vendor/uri/lib/uri/file.rb +3 -3
- data/lib/bundler/vendor/uri/lib/uri/ftp.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/generic.rb +16 -26
- data/lib/bundler/vendor/uri/lib/uri/http.rb +2 -2
- data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +10 -3
- data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +26 -3
- data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri.rb +9 -9
- data/lib/bundler/vendored_securerandom.rb +0 -2
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler.rb +37 -13
- metadata +18 -12
- data/lib/bundler/vendor/fileutils/LICENSE.txt +0 -22
- data/lib/bundler/vendor/securerandom/LICENSE.txt +0 -22
- data/lib/bundler/vendor/securerandom/lib/random/formatter.rb +0 -373
- data/lib/bundler/vendor/uri/LICENSE.txt +0 -22
data/lib/bundler/installer.rb
CHANGED
@@ -77,12 +77,9 @@ module Bundler
|
|
77
77
|
return
|
78
78
|
end
|
79
79
|
|
80
|
-
if
|
80
|
+
if @definition.setup_domain!(options)
|
81
81
|
ensure_specs_are_compatible!
|
82
|
-
load_plugins
|
83
|
-
options.delete(:jobs)
|
84
|
-
else
|
85
|
-
options[:jobs] = 1 # to avoid the overhead of Bundler::Worker
|
82
|
+
Bundler.load_plugins(@definition)
|
86
83
|
end
|
87
84
|
install(options)
|
88
85
|
|
@@ -197,18 +194,14 @@ module Bundler
|
|
197
194
|
standalone = options[:standalone]
|
198
195
|
force = options[:force]
|
199
196
|
local = options[:local]
|
200
|
-
jobs = installation_parallelization
|
197
|
+
jobs = installation_parallelization
|
201
198
|
spec_installations = ParallelInstaller.call(self, @definition.specs, jobs, standalone, force, local: local)
|
202
199
|
spec_installations.each do |installation|
|
203
200
|
post_install_messages[installation.name] = installation.post_install_message if installation.has_post_install_message?
|
204
201
|
end
|
205
202
|
end
|
206
203
|
|
207
|
-
def installation_parallelization
|
208
|
-
if jobs = options.delete(:jobs)
|
209
|
-
return jobs
|
210
|
-
end
|
211
|
-
|
204
|
+
def installation_parallelization
|
212
205
|
if jobs = Bundler.settings[:jobs]
|
213
206
|
return jobs
|
214
207
|
end
|
@@ -216,20 +209,6 @@ module Bundler
|
|
216
209
|
Bundler.settings.processor_count
|
217
210
|
end
|
218
211
|
|
219
|
-
def load_plugins
|
220
|
-
Gem.load_plugins
|
221
|
-
|
222
|
-
requested_path_gems = @definition.requested_specs.select {|s| s.source.is_a?(Source::Path) }
|
223
|
-
path_plugin_files = requested_path_gems.map do |spec|
|
224
|
-
spec.matches_for_glob("rubygems_plugin#{Bundler.rubygems.suffix_pattern}")
|
225
|
-
rescue TypeError
|
226
|
-
error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
|
227
|
-
raise Gem::InvalidSpecificationException, error_message
|
228
|
-
end.flatten
|
229
|
-
Gem.load_plugin_files(path_plugin_files)
|
230
|
-
Gem.load_env_plugins
|
231
|
-
end
|
232
|
-
|
233
212
|
def ensure_specs_are_compatible!
|
234
213
|
@definition.specs.each do |spec|
|
235
214
|
unless spec.matches_current_ruby?
|
@@ -243,19 +222,6 @@ module Bundler
|
|
243
222
|
end
|
244
223
|
end
|
245
224
|
|
246
|
-
# returns whether or not a re-resolve was needed
|
247
|
-
def resolve_if_needed(options)
|
248
|
-
@definition.prefer_local! if options[:"prefer-local"]
|
249
|
-
|
250
|
-
if options[:local] || (@definition.no_resolve_needed? && !@definition.missing_specs?)
|
251
|
-
@definition.resolve_with_cache!
|
252
|
-
false
|
253
|
-
else
|
254
|
-
@definition.resolve_remotely!
|
255
|
-
true
|
256
|
-
end
|
257
|
-
end
|
258
|
-
|
259
225
|
def lock
|
260
226
|
@definition.lock
|
261
227
|
end
|
@@ -8,14 +8,26 @@ module Bundler
|
|
8
8
|
include MatchPlatform
|
9
9
|
include ForcePlatform
|
10
10
|
|
11
|
-
attr_reader :name, :version, :platform
|
11
|
+
attr_reader :name, :version, :platform, :materialization
|
12
12
|
attr_accessor :source, :remote, :force_ruby_platform, :dependencies, :required_ruby_version, :required_rubygems_version
|
13
13
|
|
14
|
+
#
|
15
|
+
# For backwards compatibility with existing lockfiles, if the most specific
|
16
|
+
# locked platform is not a specific platform like x86_64-linux or
|
17
|
+
# universal-java-11, then we keep the previous behaviour of resolving the
|
18
|
+
# best platform variant at materiliazation time. For previous bundler
|
19
|
+
# versions (before 2.2.0) this was always the case (except when the lockfile
|
20
|
+
# only included non-ruby platforms), but we're also keeping this behaviour
|
21
|
+
# on newer bundlers unless users generate the lockfile from scratch or
|
22
|
+
# explicitly add a more specific platform.
|
23
|
+
#
|
24
|
+
attr_accessor :most_specific_locked_platform
|
25
|
+
|
14
26
|
alias_method :runtime_dependencies, :dependencies
|
15
27
|
|
16
28
|
def self.from_spec(s)
|
17
29
|
lazy_spec = new(s.name, s.version, s.platform, s.source)
|
18
|
-
lazy_spec.dependencies = s.
|
30
|
+
lazy_spec.dependencies = s.runtime_dependencies
|
19
31
|
lazy_spec.required_ruby_version = s.required_ruby_version
|
20
32
|
lazy_spec.required_rubygems_version = s.required_rubygems_version
|
21
33
|
lazy_spec
|
@@ -33,6 +45,16 @@ module Bundler
|
|
33
45
|
@source = source
|
34
46
|
|
35
47
|
@force_ruby_platform = default_force_ruby_platform
|
48
|
+
@most_specific_locked_platform = nil
|
49
|
+
@materialization = nil
|
50
|
+
end
|
51
|
+
|
52
|
+
def missing?
|
53
|
+
@materialization == self
|
54
|
+
end
|
55
|
+
|
56
|
+
def incomplete?
|
57
|
+
@materialization.nil?
|
36
58
|
end
|
37
59
|
|
38
60
|
def source_changed?
|
@@ -99,16 +121,31 @@ module Bundler
|
|
99
121
|
out
|
100
122
|
end
|
101
123
|
|
102
|
-
def
|
124
|
+
def materialize_strictly
|
103
125
|
source.local!
|
104
126
|
|
105
|
-
matching_specs = source.specs.search(
|
127
|
+
matching_specs = source.specs.search(self)
|
106
128
|
return self if matching_specs.empty?
|
107
129
|
|
108
|
-
|
109
|
-
|
130
|
+
__materialize__(matching_specs)
|
131
|
+
end
|
132
|
+
|
133
|
+
def materialized_for_installation
|
134
|
+
@materialization = materialize_for_installation
|
135
|
+
|
136
|
+
self unless incomplete?
|
137
|
+
end
|
138
|
+
|
139
|
+
def materialize_for_installation
|
140
|
+
source.local!
|
141
|
+
|
142
|
+
if use_exact_resolved_specifications?
|
143
|
+
materialize_strictly
|
110
144
|
else
|
111
|
-
|
145
|
+
matching_specs = source.specs.search([name, version])
|
146
|
+
return self if matching_specs.empty?
|
147
|
+
|
148
|
+
target_platform = source.is_a?(Source::Path) ? platform : local_platform
|
112
149
|
|
113
150
|
installable_candidates = GemHelpers.select_best_platform_match(matching_specs, target_platform)
|
114
151
|
|
@@ -119,10 +156,8 @@ module Bundler
|
|
119
156
|
installable_candidates = GemHelpers.select_best_platform_match(matching_specs, platform)
|
120
157
|
end
|
121
158
|
|
122
|
-
installable_candidates
|
159
|
+
__materialize__(installable_candidates)
|
123
160
|
end
|
124
|
-
|
125
|
-
__materialize__(candidates)
|
126
161
|
end
|
127
162
|
|
128
163
|
# If in frozen mode, we fallback to a non-installable candidate because by
|
@@ -136,12 +171,28 @@ module Bundler
|
|
136
171
|
end
|
137
172
|
if search.nil? && fallback_to_non_installable
|
138
173
|
search = candidates.last
|
139
|
-
|
140
|
-
|
174
|
+
elsif search && search.full_name == full_name
|
175
|
+
# We don't validate locally installed dependencies but accept what's in
|
176
|
+
# the lockfile instead for performance, since loading locally installed
|
177
|
+
# dependencies would mean evaluating all gemspecs, which would affect
|
178
|
+
# `bundler/setup` performance
|
179
|
+
if search.is_a?(StubSpecification)
|
180
|
+
search.dependencies = dependencies
|
181
|
+
else
|
182
|
+
if !source.is_a?(Source::Path) && search.runtime_dependencies.sort != dependencies.sort
|
183
|
+
raise IncorrectLockfileDependencies.new(self)
|
184
|
+
end
|
185
|
+
|
186
|
+
search.locked_platform = platform if search.instance_of?(RemoteSpecification) || search.instance_of?(EndpointSpecification)
|
187
|
+
end
|
141
188
|
end
|
142
189
|
search
|
143
190
|
end
|
144
191
|
|
192
|
+
def inspect
|
193
|
+
"#<#{self.class} @name=\"#{name}\" (#{full_name.delete_prefix("#{name}-")})>"
|
194
|
+
end
|
195
|
+
|
145
196
|
def to_s
|
146
197
|
lock_name
|
147
198
|
end
|
@@ -158,23 +209,13 @@ module Bundler
|
|
158
209
|
private
|
159
210
|
|
160
211
|
def use_exact_resolved_specifications?
|
161
|
-
|
212
|
+
!source.is_a?(Source::Path) && ruby_platform_materializes_to_ruby_platform?
|
162
213
|
end
|
163
214
|
|
164
|
-
#
|
165
|
-
# For backwards compatibility with existing lockfiles, if the most specific
|
166
|
-
# locked platform is not a specific platform like x86_64-linux or
|
167
|
-
# universal-java-11, then we keep the previous behaviour of resolving the
|
168
|
-
# best platform variant at materiliazation time. For previous bundler
|
169
|
-
# versions (before 2.2.0) this was always the case (except when the lockfile
|
170
|
-
# only included non-ruby platforms), but we're also keeping this behaviour
|
171
|
-
# on newer bundlers unless users generate the lockfile from scratch or
|
172
|
-
# explicitly add a more specific platform.
|
173
|
-
#
|
174
215
|
def ruby_platform_materializes_to_ruby_platform?
|
175
216
|
generic_platform = generic_local_platform == Gem::Platform::JAVA ? Gem::Platform::JAVA : Gem::Platform::RUBY
|
176
217
|
|
177
|
-
|
218
|
+
(most_specific_locked_platform != generic_platform) || force_ruby_platform || Bundler.settings[:force_ruby_platform]
|
178
219
|
end
|
179
220
|
end
|
180
221
|
end
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
module Bundler
|
4
4
|
class LockfileParser
|
5
|
+
include GemHelpers
|
6
|
+
|
5
7
|
class Position
|
6
8
|
attr_reader :line, :column
|
7
9
|
def initialize(line, column)
|
@@ -29,6 +31,7 @@ module Bundler
|
|
29
31
|
:dependencies,
|
30
32
|
:specs,
|
31
33
|
:platforms,
|
34
|
+
:most_specific_locked_platform,
|
32
35
|
:bundler_version,
|
33
36
|
:ruby_version,
|
34
37
|
:checksums,
|
@@ -136,7 +139,12 @@ module Bundler
|
|
136
139
|
end
|
137
140
|
@pos.advance!(line)
|
138
141
|
end
|
139
|
-
@
|
142
|
+
@most_specific_locked_platform = @platforms.min_by do |bundle_platform|
|
143
|
+
platform_specificity_match(bundle_platform, local_platform)
|
144
|
+
end
|
145
|
+
@specs = @specs.values.sort_by!(&:full_name).each do |spec|
|
146
|
+
spec.most_specific_locked_platform = @most_specific_locked_platform
|
147
|
+
end
|
140
148
|
rescue ArgumentError => e
|
141
149
|
Bundler.ui.debug(e)
|
142
150
|
raise LockfileError, "Your lockfile is unreadable. Run `rm #{@lockfile_path}` " \
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-ADD" "1" "
|
3
|
+
.TH "BUNDLE\-ADD" "1" "December 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
|
6
6
|
.SH "SYNOPSIS"
|
@@ -9,33 +9,36 @@
|
|
9
9
|
Adds the named gem to the [\fBGemfile(5)\fR][Gemfile(5)] and run \fBbundle install\fR\. \fBbundle install\fR can be avoided by using the flag \fB\-\-skip\-install\fR\.
|
10
10
|
.SH "OPTIONS"
|
11
11
|
.TP
|
12
|
-
\fB\-\-version\fR, \fB\-v\fR
|
12
|
+
\fB\-\-version=VERSION\fR, \fB\-v=VERSION\fR
|
13
13
|
Specify version requirements(s) for the added gem\.
|
14
14
|
.TP
|
15
|
-
\fB\-\-group\fR, \fB\-g\fR
|
15
|
+
\fB\-\-group=GROUP\fR, \fB\-g=GROUP\fR
|
16
16
|
Specify the group(s) for the added gem\. Multiple groups should be separated by commas\.
|
17
17
|
.TP
|
18
|
-
\fB\-\-source\fR, \fB\-s\fR
|
18
|
+
\fB\-\-source=SOURCE\fR, \fB\-s=SOURCE\fR
|
19
19
|
Specify the source for the added gem\.
|
20
20
|
.TP
|
21
|
-
\fB\-\-require\fR, \fB\-r\fR
|
21
|
+
\fB\-\-require=REQUIRE\fR, \fB\-r=REQUIRE\fR
|
22
22
|
Adds require path to gem\. Provide false, or a path as a string\.
|
23
23
|
.TP
|
24
|
-
\fB\-\-path\fR
|
24
|
+
\fB\-\-path=PATH\fR
|
25
25
|
Specify the file system path for the added gem\.
|
26
26
|
.TP
|
27
|
-
\fB\-\-git\fR
|
27
|
+
\fB\-\-git=GIT\fR
|
28
28
|
Specify the git source for the added gem\.
|
29
29
|
.TP
|
30
|
-
\fB\-\-github\fR
|
30
|
+
\fB\-\-github=GITHUB\fR
|
31
31
|
Specify the github source for the added gem\.
|
32
32
|
.TP
|
33
|
-
\fB\-\-branch\fR
|
33
|
+
\fB\-\-branch=BRANCH\fR
|
34
34
|
Specify the git branch for the added gem\.
|
35
35
|
.TP
|
36
|
-
\fB\-\-ref\fR
|
36
|
+
\fB\-\-ref=REF\fR
|
37
37
|
Specify the git ref for the added gem\.
|
38
38
|
.TP
|
39
|
+
\fB\-\-glob=GLOB\fR
|
40
|
+
Specify the location of a dependency's \.gemspec, expanded within Ruby (single quotes recommended)\.
|
41
|
+
.TP
|
39
42
|
\fB\-\-quiet\fR
|
40
43
|
Do not print progress information to the standard output\.
|
41
44
|
.TP
|
@@ -14,33 +14,36 @@ Adds the named gem to the [`Gemfile(5)`][Gemfile(5)] and run `bundle install`.
|
|
14
14
|
|
15
15
|
## OPTIONS
|
16
16
|
|
17
|
-
* `--version`, `-v`:
|
17
|
+
* `--version=VERSION`, `-v=VERSION`:
|
18
18
|
Specify version requirements(s) for the added gem.
|
19
19
|
|
20
|
-
* `--group`, `-g`:
|
20
|
+
* `--group=GROUP`, `-g=GROUP`:
|
21
21
|
Specify the group(s) for the added gem. Multiple groups should be separated by commas.
|
22
22
|
|
23
|
-
* `--source`, `-s`:
|
23
|
+
* `--source=SOURCE`, `-s=SOURCE`:
|
24
24
|
Specify the source for the added gem.
|
25
25
|
|
26
|
-
* `--require`, `-r`:
|
26
|
+
* `--require=REQUIRE`, `-r=REQUIRE`:
|
27
27
|
Adds require path to gem. Provide false, or a path as a string.
|
28
28
|
|
29
|
-
* `--path`:
|
29
|
+
* `--path=PATH`:
|
30
30
|
Specify the file system path for the added gem.
|
31
31
|
|
32
|
-
* `--git`:
|
32
|
+
* `--git=GIT`:
|
33
33
|
Specify the git source for the added gem.
|
34
34
|
|
35
|
-
* `--github`:
|
35
|
+
* `--github=GITHUB`:
|
36
36
|
Specify the github source for the added gem.
|
37
37
|
|
38
|
-
* `--branch`:
|
38
|
+
* `--branch=BRANCH`:
|
39
39
|
Specify the git branch for the added gem.
|
40
40
|
|
41
|
-
* `--ref`:
|
41
|
+
* `--ref=REF`:
|
42
42
|
Specify the git ref for the added gem.
|
43
43
|
|
44
|
+
* `--glob=GLOB`:
|
45
|
+
Specify the location of a dependency's .gemspec, expanded within Ruby (single quotes recommended).
|
46
|
+
|
44
47
|
* `--quiet`:
|
45
48
|
Do not print progress information to the standard output.
|
46
49
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-BINSTUBS" "1" "
|
3
|
+
.TH "BUNDLE\-BINSTUBS" "1" "December 2024" ""
|
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]
|
7
|
+
\fBbundle binstubs\fR \fIGEM_NAME\fR [\-\-force] [\-\-path PATH] [\-\-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
|
@@ -16,15 +16,18 @@ This command generates binstubs for executables in \fBGEM_NAME\fR\. Binstubs are
|
|
16
16
|
\fB\-\-force\fR
|
17
17
|
Overwrite existing binstubs if they exist\.
|
18
18
|
.TP
|
19
|
-
\fB\-\-path\fR
|
19
|
+
\fB\-\-path[=PATH]\fR
|
20
20
|
The location to install the specified binstubs to\. This defaults to \fBbin\fR\.
|
21
21
|
.TP
|
22
22
|
\fB\-\-standalone\fR
|
23
23
|
Makes binstubs that can work without depending on Rubygems or Bundler at runtime\.
|
24
24
|
.TP
|
25
|
-
\fB\-\-shebang\fR
|
25
|
+
\fB\-\-shebang=SHEBANG\fR
|
26
26
|
Specify a different shebang executable name than the default (default 'ruby')
|
27
27
|
.TP
|
28
28
|
\fB\-\-all\fR
|
29
29
|
Create binstubs for all gems in the bundle\.
|
30
|
+
.TP
|
31
|
+
\fB\-\-all\-platforms\fR
|
32
|
+
Install binstubs for all platforms\.
|
30
33
|
|
@@ -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]
|
6
|
+
`bundle binstubs` <GEM_NAME> [--force] [--path PATH] [--standalone] [--all-platforms]
|
7
7
|
|
8
8
|
## DESCRIPTION
|
9
9
|
|
@@ -27,15 +27,18 @@ Calling binstubs with [GEM [GEM]] will create binstubs for all given gems.
|
|
27
27
|
* `--force`:
|
28
28
|
Overwrite existing binstubs if they exist.
|
29
29
|
|
30
|
-
* `--path`:
|
30
|
+
* `--path[=PATH]`:
|
31
31
|
The location to install the specified binstubs to. This defaults to `bin`.
|
32
32
|
|
33
33
|
* `--standalone`:
|
34
34
|
Makes binstubs that can work without depending on Rubygems or Bundler at
|
35
35
|
runtime.
|
36
36
|
|
37
|
-
* `--shebang`:
|
37
|
+
* `--shebang=SHEBANG`:
|
38
38
|
Specify a different shebang executable name than the default (default 'ruby')
|
39
39
|
|
40
40
|
* `--all`:
|
41
41
|
Create binstubs for all gems in the bundle.
|
42
|
+
|
43
|
+
* `--all-platforms`:
|
44
|
+
Install binstubs for all platforms.
|
@@ -1,14 +1,42 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CACHE" "1" "
|
3
|
+
.TH "BUNDLE\-CACHE" "1" "December 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
|
6
6
|
.SH "SYNOPSIS"
|
7
|
-
\fBbundle cache\fR
|
7
|
+
\fBbundle cache\fR [\fIOPTIONS\fR]
|
8
8
|
.P
|
9
9
|
alias: \fBpackage\fR, \fBpack\fR
|
10
10
|
.SH "DESCRIPTION"
|
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
|
+
.SH "OPTIONS"
|
13
|
+
.TP
|
14
|
+
\fB\-\-all\fR
|
15
|
+
Include all sources (including path and git)\.
|
16
|
+
.TP
|
17
|
+
\fB\-\-all\-platforms\fR
|
18
|
+
Include gems for all platforms present in the lockfile, not only the current one\.
|
19
|
+
.TP
|
20
|
+
\fB\-\-cache\-path=CACHE\-PATH\fR
|
21
|
+
Specify a different cache path than the default (vendor/cache)\.
|
22
|
+
.TP
|
23
|
+
\fB\-\-gemfile=GEMFILE\fR
|
24
|
+
Use the specified gemfile instead of Gemfile\.
|
25
|
+
.TP
|
26
|
+
\fB\-\-no\-install\fR
|
27
|
+
Don't install the gems, only update the cache\.
|
28
|
+
.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
|
+
\fB\-\-quiet\fR
|
36
|
+
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\.
|
12
40
|
.SH "GIT AND PATH GEMS"
|
13
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\.
|
14
42
|
.SH "SUPPORT FOR MULTIPLE PLATFORMS"
|
@@ -1,9 +1,9 @@
|
|
1
1
|
bundle-cache(1) -- Package your needed `.gem` files into your application
|
2
|
-
|
2
|
+
=========================================================================
|
3
3
|
|
4
4
|
## SYNOPSIS
|
5
5
|
|
6
|
-
`bundle cache`
|
6
|
+
`bundle cache` [*OPTIONS*]
|
7
7
|
|
8
8
|
alias: `package`, `pack`
|
9
9
|
|
@@ -13,6 +13,35 @@ Copy all of the `.gem` files needed to run the application into the
|
|
13
13
|
`vendor/cache` directory. In the future, when running [`bundle install(1)`](bundle-install.1.html),
|
14
14
|
use the gems in the cache in preference to the ones on `rubygems.org`.
|
15
15
|
|
16
|
+
## OPTIONS
|
17
|
+
|
18
|
+
* `--all`:
|
19
|
+
Include all sources (including path and git).
|
20
|
+
|
21
|
+
* `--all-platforms`:
|
22
|
+
Include gems for all platforms present in the lockfile, not only the current one.
|
23
|
+
|
24
|
+
* `--cache-path=CACHE-PATH`:
|
25
|
+
Specify a different cache path than the default (vendor/cache).
|
26
|
+
|
27
|
+
* `--gemfile=GEMFILE`:
|
28
|
+
Use the specified gemfile instead of Gemfile.
|
29
|
+
|
30
|
+
* `--no-install`:
|
31
|
+
Don't install the gems, only update the cache.
|
32
|
+
|
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
|
+
* `--quiet`:
|
40
|
+
Only output warnings and errors.
|
41
|
+
|
42
|
+
* `--frozen`:
|
43
|
+
Do not allow the Gemfile.lock to be updated after this bundle cache operation's install.
|
44
|
+
|
16
45
|
## GIT AND PATH GEMS
|
17
46
|
|
18
47
|
The `bundle cache` command can also package `:git` and `:path` dependencies
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CHECK" "1" "
|
3
|
+
.TH "BUNDLE\-CHECK" "1" "December 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
|
6
6
|
.SH "SYNOPSIS"
|
@@ -16,9 +16,9 @@ If the lockfile needs to be updated then it will be resolved using the gems inst
|
|
16
16
|
\fB\-\-dry\-run\fR
|
17
17
|
Locks the [\fBGemfile(5)\fR][Gemfile(5)] before running the command\.
|
18
18
|
.TP
|
19
|
-
\fB\-\-gemfile\fR
|
19
|
+
\fB\-\-gemfile=GEMFILE\fR
|
20
20
|
Use the specified gemfile instead of the [\fBGemfile(5)\fR][Gemfile(5)]\.
|
21
21
|
.TP
|
22
|
-
\fB\-\-path\fR
|
22
|
+
\fB\-\-path=PATH\fR
|
23
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
24
|
|
@@ -22,8 +22,10 @@ installed on the local machine, if they satisfy the requirements.
|
|
22
22
|
|
23
23
|
* `--dry-run`:
|
24
24
|
Locks the [`Gemfile(5)`][Gemfile(5)] before running the command.
|
25
|
-
|
25
|
+
|
26
|
+
* `--gemfile=GEMFILE`:
|
26
27
|
Use the specified gemfile instead of the [`Gemfile(5)`][Gemfile(5)].
|
27
|
-
|
28
|
+
|
29
|
+
* `--path=PATH`:
|
28
30
|
Specify a different path than the system default (`$BUNDLE_PATH` or `$GEM_HOME`).
|
29
31
|
Bundler will remember this value for future installs on this machine.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CLEAN" "1" "
|
3
|
+
.TH "BUNDLE\-CLEAN" "1" "December 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
|
6
6
|
.SH "SYNOPSIS"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CONFIG" "1" "
|
3
|
+
.TH "BUNDLE\-CONFIG" "1" "December 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-config\fR \- Set bundler configuration options
|
6
6
|
.SH "SYNOPSIS"
|
@@ -149,6 +149,8 @@ The following is a list of all configuration keys and their purpose\. You can le
|
|
149
149
|
.IP "\(bu" 4
|
150
150
|
\fBjobs\fR (\fBBUNDLE_JOBS\fR): The number of gems Bundler can install in parallel\. Defaults to the number of available processors\.
|
151
151
|
.IP "\(bu" 4
|
152
|
+
\fBlockfile_checksums\fR (\fBBUNDLE_LOCKFILE_CHECKSUMS\fR): Whether Bundler should include a checksums section in new lockfiles, to protect from compromised gem sources\.
|
153
|
+
.IP "\(bu" 4
|
152
154
|
\fBno_install\fR (\fBBUNDLE_NO_INSTALL\fR): Whether \fBbundle package\fR should skip installing gems\.
|
153
155
|
.IP "\(bu" 4
|
154
156
|
\fBno_prune\fR (\fBBUNDLE_NO_PRUNE\fR): Whether Bundler should leave outdated gems unpruned when caching\.
|
@@ -217,6 +217,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|
217
217
|
* `jobs` (`BUNDLE_JOBS`):
|
218
218
|
The number of gems Bundler can install in parallel. Defaults to the number of
|
219
219
|
available processors.
|
220
|
+
* `lockfile_checksums` (`BUNDLE_LOCKFILE_CHECKSUMS`):
|
221
|
+
Whether Bundler should include a checksums section in new lockfiles, to protect from compromised gem sources.
|
220
222
|
* `no_install` (`BUNDLE_NO_INSTALL`):
|
221
223
|
Whether `bundle package` should skip installing gems.
|
222
224
|
* `no_prune` (`BUNDLE_NO_PRUNE`):
|
@@ -1,8 +1,8 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-CONSOLE" "1" "
|
3
|
+
.TH "BUNDLE\-CONSOLE" "1" "December 2024" ""
|
4
4
|
.SH "NAME"
|
5
|
-
\fBbundle\-console\fR \-
|
5
|
+
\fBbundle\-console\fR \- Open an IRB session with the bundle pre\-loaded
|
6
6
|
.SH "SYNOPSIS"
|
7
7
|
\fBbundle console\fR [GROUP]
|
8
8
|
.SH "DESCRIPTION"
|
@@ -29,7 +29,5 @@ $ bundle console
|
|
29
29
|
Resolving dependencies\|\.\|\.\|\.
|
30
30
|
[1] pry(main)>
|
31
31
|
.fi
|
32
|
-
.SH "NOTES"
|
33
|
-
This command was deprecated in Bundler 2\.1 and will be removed in 3\.0\. Use \fBbin/console\fR script, which can be generated by \fBbundle gem <NAME>\fR\.
|
34
32
|
.SH "SEE ALSO"
|
35
33
|
Gemfile(5) \fIhttps://bundler\.io/man/gemfile\.5\.html\fR
|
@@ -1,5 +1,5 @@
|
|
1
|
-
bundle-console(1) --
|
2
|
-
|
1
|
+
bundle-console(1) -- Open an IRB session with the bundle pre-loaded
|
2
|
+
===================================================================
|
3
3
|
|
4
4
|
## SYNOPSIS
|
5
5
|
|
@@ -34,11 +34,6 @@ the shell from the following:
|
|
34
34
|
Resolving dependencies...
|
35
35
|
[1] pry(main)>
|
36
36
|
|
37
|
-
## NOTES
|
38
|
-
|
39
|
-
This command was deprecated in Bundler 2.1 and will be removed in 3.0.
|
40
|
-
Use `bin/console` script, which can be generated by `bundle gem <NAME>`.
|
41
|
-
|
42
37
|
## SEE ALSO
|
43
38
|
|
44
39
|
[Gemfile(5)](https://bundler.io/man/gemfile.5.html)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.\" generated with nRonn/v0.11.1
|
2
2
|
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
-
.TH "BUNDLE\-DOCTOR" "1" "
|
3
|
+
.TH "BUNDLE\-DOCTOR" "1" "December 2024" ""
|
4
4
|
.SH "NAME"
|
5
5
|
\fBbundle\-doctor\fR \- Checks the bundle for common problems
|
6
6
|
.SH "SYNOPSIS"
|
@@ -25,6 +25,6 @@ Missing dependencies
|
|
25
25
|
\fB\-\-quiet\fR
|
26
26
|
Only output warnings and errors\.
|
27
27
|
.TP
|
28
|
-
\fB\-\-gemfile
|
28
|
+
\fB\-\-gemfile=GEMFILE\fR
|
29
29
|
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\.
|
30
30
|
|
@@ -25,7 +25,7 @@ Examples of common problems caught by bundle-doctor include:
|
|
25
25
|
* `--quiet`:
|
26
26
|
Only output warnings and errors.
|
27
27
|
|
28
|
-
* `--gemfile
|
28
|
+
* `--gemfile=GEMFILE`:
|
29
29
|
The location of the Gemfile(5) which Bundler should use. This defaults
|
30
30
|
to a Gemfile(5) in the current working directory. In general, Bundler
|
31
31
|
will assume that the location of the Gemfile(5) is also the project's
|
@@ -0,0 +1,9 @@
|
|
1
|
+
.\" generated with nRonn/v0.11.1
|
2
|
+
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
+
.TH "BUNDLE\-ENV" "1" "December 2024" ""
|
4
|
+
.SH "NAME"
|
5
|
+
\fBbundle\-env\fR \- Print information about the environment Bundler is running under
|
6
|
+
.SH "SYNOPSIS"
|
7
|
+
\fBbundle env\fR
|
8
|
+
.SH "DESCRIPTION"
|
9
|
+
Prints information about the environment Bundler is running under\.
|