rubygems-update 3.3.26 → 3.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +35 -0
- data/CONTRIBUTING.md +24 -1
- data/Manifest.txt +30 -27
- data/POLICIES.md +10 -8
- data/README.md +2 -2
- data/bin/gem +1 -4
- data/bin/update_rubygems +1 -1
- data/bundler/CHANGELOG.md +59 -0
- data/bundler/README.md +2 -2
- data/bundler/bundler.gemspec +2 -2
- data/bundler/exe/bundle +1 -4
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/add.rb +1 -1
- data/bundler/lib/bundler/cli/check.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +1 -0
- data/bundler/lib/bundler/cli/console.rb +2 -2
- data/bundler/lib/bundler/cli/doctor.rb +4 -6
- data/bundler/lib/bundler/cli/gem.rb +62 -40
- data/bundler/lib/bundler/cli/install.rb +2 -3
- data/bundler/lib/bundler/cli/lock.rb +8 -5
- data/bundler/lib/bundler/cli/outdated.rb +1 -3
- data/bundler/lib/bundler/cli/viz.rb +1 -1
- data/bundler/lib/bundler/cli.rb +43 -2
- data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
- data/bundler/lib/bundler/compact_index_client/updater.rb +40 -39
- data/bundler/lib/bundler/constants.rb +1 -1
- data/bundler/lib/bundler/definition.rb +61 -31
- data/bundler/lib/bundler/dependency.rb +12 -11
- data/bundler/lib/bundler/digest.rb +1 -1
- data/bundler/lib/bundler/dsl.rb +1 -1
- data/bundler/lib/bundler/env.rb +1 -1
- data/bundler/lib/bundler/environment_preserver.rb +1 -0
- data/bundler/lib/bundler/errors.rb +1 -11
- data/bundler/lib/bundler/fetcher/compact_index.rb +9 -11
- data/bundler/lib/bundler/fetcher/dependency.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +2 -5
- data/bundler/lib/bundler/fetcher.rb +2 -6
- data/bundler/lib/bundler/force_platform.rb +18 -0
- data/bundler/lib/bundler/friendly_errors.rb +0 -3
- data/bundler/lib/bundler/gem_version_promoter.rb +52 -86
- data/bundler/lib/bundler/graph.rb +3 -3
- data/bundler/lib/bundler/index.rb +5 -13
- data/bundler/lib/bundler/injector.rb +1 -1
- data/bundler/lib/bundler/inline.rb +2 -2
- data/bundler/lib/bundler/installer/parallel_installer.rb +0 -31
- data/bundler/lib/bundler/installer.rb +6 -16
- data/bundler/lib/bundler/lazy_specification.rb +5 -1
- data/bundler/lib/bundler/lockfile_parser.rb +5 -5
- data/bundler/lib/bundler/man/bundle-add.1 +1 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +1 -1
- data/bundler/lib/bundler/man/bundle-console.1 +1 -1
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +27 -37
- data/bundler/lib/bundler/man/bundle-gem.1.ronn +5 -5
- data/bundler/lib/bundler/man/bundle-help.1 +1 -1
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
- data/bundler/lib/bundler/man/bundle-install.1 +1 -30
- data/bundler/lib/bundler/man/bundle-install.1.ronn +0 -29
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +2 -2
- data/bundler/lib/bundler/man/bundle-platform.1.ronn +1 -1
- data/bundler/lib/bundler/man/bundle-plugin.1 +1 -1
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-version.1 +1 -1
- data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
- data/bundler/lib/bundler/man/bundle.1 +1 -1
- data/bundler/lib/bundler/man/gemfile.5 +1 -1
- data/bundler/lib/bundler/mirror.rb +5 -7
- data/bundler/lib/bundler/plugin/index.rb +4 -4
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +0 -4
- data/bundler/lib/bundler/resolver/base.rb +7 -11
- data/bundler/lib/bundler/resolver/candidate.rb +92 -0
- data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
- data/bundler/lib/bundler/resolver/package.rb +63 -0
- data/bundler/lib/bundler/resolver/root.rb +25 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +26 -36
- data/bundler/lib/bundler/resolver.rb +294 -277
- data/bundler/lib/bundler/rubygems_ext.rb +11 -6
- data/bundler/lib/bundler/rubygems_gem_installer.rb +4 -2
- data/bundler/lib/bundler/rubygems_integration.rb +1 -9
- data/bundler/lib/bundler/runtime.rb +1 -5
- data/bundler/lib/bundler/settings.rb +0 -6
- data/bundler/lib/bundler/shared_helpers.rb +1 -0
- data/bundler/lib/bundler/source/git/git_proxy.rb +193 -67
- data/bundler/lib/bundler/source/git.rb +15 -17
- data/bundler/lib/bundler/source/metadata.rb +0 -1
- data/bundler/lib/bundler/source/path/installer.rb +1 -22
- data/bundler/lib/bundler/source/path.rb +5 -5
- data/bundler/lib/bundler/source/rubygems.rb +13 -67
- data/bundler/lib/bundler/source_list.rb +8 -2
- data/bundler/lib/bundler/spec_set.rb +7 -9
- data/bundler/lib/bundler/templates/Executable +1 -1
- data/bundler/lib/bundler/templates/Executable.bundler +4 -9
- data/bundler/lib/bundler/templates/Executable.standalone +2 -0
- data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +3 -0
- data/bundler/lib/bundler/templates/newgem/README.md.tt +6 -4
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +2 -1
- data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/{extconf.rb.tt → extconf-c.rb.tt} +0 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +10 -0
- data/bundler/lib/bundler/templates/newgem/gitignore.tt +3 -0
- data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +8 -0
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -2
- data/bundler/lib/bundler/ui/shell.rb +35 -12
- data/bundler/lib/bundler/ui/silent.rb +21 -5
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +3 -3
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -1
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +3 -1
- data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1350 -408
- data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
- data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +151 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +53 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +124 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +409 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +240 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +1 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +64 -16
- data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +27 -7
- data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +40 -2
- data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +2 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -2
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +13 -7
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +10 -5
- data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +1 -2
- data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +2 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri.rb +3 -2
- data/bundler/lib/bundler/vendored_persistent.rb +1 -33
- data/bundler/lib/bundler/{vendored_tmpdir.rb → vendored_pub_grub.rb} +1 -1
- data/bundler/lib/bundler/version.rb +5 -1
- data/bundler/lib/bundler/worker.rb +5 -7
- data/bundler/lib/bundler.rb +20 -64
- data/lib/rubygems/command_manager.rb +2 -2
- data/lib/rubygems/commands/fetch_command.rb +1 -1
- data/lib/rubygems/commands/install_command.rb +7 -3
- data/lib/rubygems/commands/rdoc_command.rb +3 -2
- data/lib/rubygems/commands/setup_command.rb +2 -2
- data/lib/rubygems/commands/unpack_command.rb +1 -1
- data/lib/rubygems/commands/update_command.rb +1 -7
- data/lib/rubygems/config_file.rb +33 -0
- data/lib/rubygems/core_ext/kernel_warn.rb +1 -2
- data/lib/rubygems/defaults.rb +15 -1
- data/lib/rubygems/dependency.rb +4 -1
- data/lib/rubygems/dependency_installer.rb +24 -24
- data/lib/rubygems/exceptions.rb +1 -3
- data/lib/rubygems/ext/builder.rb +3 -3
- data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +9 -5
- data/lib/rubygems/ext/cargo_builder.rb +15 -20
- data/lib/rubygems/ext/ext_conf_builder.rb +2 -0
- data/lib/rubygems/indexer.rb +1 -1
- data/lib/rubygems/installer.rb +5 -5
- data/lib/rubygems/optparse/lib/optparse.rb +20 -15
- data/lib/rubygems/package/tar_header.rb +11 -11
- data/lib/rubygems/platform.rb +0 -2
- data/lib/rubygems/request_set/gem_dependency_api.rb +104 -104
- data/lib/rubygems/requirement.rb +7 -7
- data/lib/rubygems/resolver/installer_set.rb +1 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +1 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +32 -26
- data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/lib/rubygems/security/policies.rb +40 -40
- data/lib/rubygems/security/trust_dir.rb +1 -1
- data/lib/rubygems/security.rb +3 -16
- data/lib/rubygems/source.rb +2 -2
- data/lib/rubygems/specification.rb +37 -49
- data/lib/rubygems/specification_policy.rb +14 -0
- data/lib/rubygems/stub_specification.rb +2 -2
- data/lib/rubygems/text.rb +1 -1
- data/lib/rubygems/tsort/lib/tsort.rb +308 -310
- data/lib/rubygems/update_suggestion.rb +69 -0
- data/lib/rubygems/util.rb +1 -5
- data/lib/rubygems/validator.rb +1 -1
- data/lib/rubygems.rb +8 -3
- data/rubygems-update.gemspec +2 -2
- data/test/rubygems/helper.rb +7 -3
- data/test/rubygems/test_bundled_ca.rb +1 -1
- data/test/rubygems/test_exit.rb +6 -0
- data/test/rubygems/test_gem.rb +4 -9
- data/test/rubygems/test_gem_bundler_version_finder.rb +2 -1
- data/test/rubygems/test_gem_command_manager.rb +1 -1
- data/test/rubygems/test_gem_commands_install_command.rb +19 -0
- data/test/rubygems/test_gem_commands_setup_command.rb +1 -8
- data/test/rubygems/test_gem_commands_update_command.rb +6 -6
- data/test/rubygems/test_gem_config_file.rb +1 -1
- data/test/rubygems/test_gem_dependency.rb +2 -0
- data/test/rubygems/test_gem_ext_builder.rb +3 -3
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +22 -32
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +22 -32
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +12 -0
- data/test/rubygems/test_gem_ext_cargo_builder.rb +22 -27
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +16 -16
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +0 -10
- data/test/rubygems/test_gem_indexer.rb +39 -20
- data/test/rubygems/test_gem_installer.rb +68 -2
- data/test/rubygems/test_gem_package_tar_header.rb +13 -13
- data/test/rubygems/test_gem_platform.rb +59 -60
- data/test/rubygems/test_gem_remote_fetcher.rb +4 -4
- data/test/rubygems/test_gem_request_set.rb +2 -2
- data/test/rubygems/test_gem_requirement.rb +1 -1
- data/test/rubygems/test_gem_resolver_api_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_api_specification.rb +19 -19
- data/test/rubygems/test_gem_resolver_git_specification.rb +1 -1
- data/test/rubygems/test_gem_security_policy.rb +10 -10
- data/test/rubygems/test_gem_security_trust_dir.rb +2 -2
- data/test/rubygems/test_gem_specification.rb +50 -37
- data/test/rubygems/test_gem_uninstaller.rb +1 -1
- data/test/rubygems/test_gem_update_suggestion.rb +208 -0
- data/test/rubygems/test_kernel.rb +10 -8
- data/test/rubygems/test_require.rb +70 -55
- metadata +34 -31
- data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -6
- data/bundler/lib/bundler/vendor/molinillo/LICENSE +0 -9
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -149
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
- data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
- data/bundler/lib/bundler/vendored_molinillo.rb +0 -4
- data/bundler/lib/bundler/version_ranges.rb +0 -122
@@ -70,7 +70,7 @@ module Bundler
|
|
70
70
|
case query
|
71
71
|
when Gem::Specification, RemoteSpecification, LazySpecification, EndpointSpecification then search_by_spec(query)
|
72
72
|
when String then specs_by_name(query)
|
73
|
-
when
|
73
|
+
when Array then specs_by_name_and_version(*query)
|
74
74
|
else
|
75
75
|
raise "You can't search for a #{query.inspect}."
|
76
76
|
end
|
@@ -157,20 +157,12 @@ module Bundler
|
|
157
157
|
|
158
158
|
private
|
159
159
|
|
160
|
-
def
|
161
|
-
|
160
|
+
def specs_by_name_and_version(name, version)
|
161
|
+
specs_by_name(name).select {|spec| spec.version == version }
|
162
162
|
end
|
163
163
|
|
164
|
-
def
|
165
|
-
@
|
166
|
-
specs = specs_by_name(dependency.name)
|
167
|
-
found = specs.select do |spec|
|
168
|
-
next true if spec.source.is_a?(Source::Gemspec)
|
169
|
-
dependency.matches_spec?(spec)
|
170
|
-
end
|
171
|
-
|
172
|
-
found
|
173
|
-
end
|
164
|
+
def specs_by_name(name)
|
165
|
+
@specs[name].values
|
174
166
|
end
|
175
167
|
|
176
168
|
EMPTY_SEARCH = [].freeze
|
@@ -235,7 +235,7 @@ module Bundler
|
|
235
235
|
|
236
236
|
gemfile.each_with_index do |line, index|
|
237
237
|
next unless !line.nil? && line.strip.start_with?(block_name)
|
238
|
-
if gemfile[index + 1]
|
238
|
+
if /^\s*end\s*$/.match?(gemfile[index + 1])
|
239
239
|
gemfile[index] = nil
|
240
240
|
gemfile[index + 1] = nil
|
241
241
|
end
|
@@ -34,7 +34,8 @@ def gemfile(install = false, options = {}, &gemfile)
|
|
34
34
|
|
35
35
|
opts = options.dup
|
36
36
|
ui = opts.delete(:ui) { Bundler::UI::Shell.new }
|
37
|
-
ui.level = "silent" if opts.delete(:quiet)
|
37
|
+
ui.level = "silent" if opts.delete(:quiet) || !install
|
38
|
+
Bundler.ui = ui
|
38
39
|
raise ArgumentError, "Unknown options: #{opts.keys.join(", ")}" unless opts.empty?
|
39
40
|
|
40
41
|
begin
|
@@ -52,7 +53,6 @@ def gemfile(install = false, options = {}, &gemfile)
|
|
52
53
|
def definition.lock(*); end
|
53
54
|
definition.validate_runtime!
|
54
55
|
|
55
|
-
Bundler.ui = install ? ui : Bundler::UI::Silent.new
|
56
56
|
if install || definition.missing_specs?
|
57
57
|
Bundler.settings.temporary(:inline => true, :no_install => false) do
|
58
58
|
installer = Bundler::Installer.install(Bundler.root, definition, :system => true)
|
@@ -53,10 +53,6 @@ module Bundler
|
|
53
53
|
@dependencies ||= all_dependencies.reject {|dep| ignorable_dependency? dep }
|
54
54
|
end
|
55
55
|
|
56
|
-
def missing_lockfile_dependencies(all_spec_names)
|
57
|
-
dependencies.reject {|dep| all_spec_names.include? dep.name }
|
58
|
-
end
|
59
|
-
|
60
56
|
# Represents all dependencies
|
61
57
|
def all_dependencies
|
62
58
|
@spec.dependencies
|
@@ -84,8 +80,6 @@ module Bundler
|
|
84
80
|
end
|
85
81
|
|
86
82
|
def call
|
87
|
-
check_for_corrupt_lockfile
|
88
|
-
|
89
83
|
if @rake
|
90
84
|
do_install(@rake, 0)
|
91
85
|
Gem::Specification.reset
|
@@ -128,31 +122,6 @@ module Bundler
|
|
128
122
|
Bundler.ui.warn(warning.join("\n"))
|
129
123
|
end
|
130
124
|
|
131
|
-
def check_for_corrupt_lockfile
|
132
|
-
missing_dependencies = @specs.map do |s|
|
133
|
-
[
|
134
|
-
s,
|
135
|
-
s.missing_lockfile_dependencies(@specs.map(&:name)),
|
136
|
-
]
|
137
|
-
end.reject {|a| a.last.empty? }
|
138
|
-
return if missing_dependencies.empty?
|
139
|
-
|
140
|
-
warning = []
|
141
|
-
warning << "Your lockfile was created by an old Bundler that left some things out."
|
142
|
-
if @size != 1
|
143
|
-
warning << "Because of the missing DEPENDENCIES, we can only install gems one at a time, instead of installing #{@size} at a time."
|
144
|
-
@size = 1
|
145
|
-
end
|
146
|
-
warning << "You can fix this by adding the missing gems to your Gemfile, running bundle install, and then removing the gems from your Gemfile."
|
147
|
-
warning << "The missing gems are:"
|
148
|
-
|
149
|
-
missing_dependencies.each do |spec, missing|
|
150
|
-
warning << "* #{missing.map(&:name).join(", ")} depended upon by #{spec.name}"
|
151
|
-
end
|
152
|
-
|
153
|
-
Bundler.ui.warn(warning.join("\n"))
|
154
|
-
end
|
155
|
-
|
156
125
|
private
|
157
126
|
|
158
127
|
def failed_specs
|
@@ -136,11 +136,7 @@ module Bundler
|
|
136
136
|
|
137
137
|
mode = Gem.win_platform? ? "wb:UTF-8" : "w"
|
138
138
|
require "erb"
|
139
|
-
content =
|
140
|
-
ERB.new(template, :trim_mode => "-").result(binding)
|
141
|
-
else
|
142
|
-
ERB.new(template, nil, "-").result(binding)
|
143
|
-
end
|
139
|
+
content = ERB.new(template, :trim_mode => "-").result(binding)
|
144
140
|
|
145
141
|
File.write(binstub_path, content, :mode => mode, :perm => 0o777 & ~File.umask)
|
146
142
|
if Gem.win_platform? || options[:all_platforms]
|
@@ -183,11 +179,7 @@ module Bundler
|
|
183
179
|
|
184
180
|
mode = Gem.win_platform? ? "wb:UTF-8" : "w"
|
185
181
|
require "erb"
|
186
|
-
content =
|
187
|
-
ERB.new(template, :trim_mode => "-").result(binding)
|
188
|
-
else
|
189
|
-
ERB.new(template, nil, "-").result(binding)
|
190
|
-
end
|
182
|
+
content = ERB.new(template, :trim_mode => "-").result(binding)
|
191
183
|
|
192
184
|
File.write("#{bin_path}/#{executable}", content, :mode => mode, :perm => 0o755)
|
193
185
|
if Gem.win_platform? || options[:all_platforms]
|
@@ -226,12 +218,10 @@ module Bundler
|
|
226
218
|
|
227
219
|
requested_path_gems = @definition.requested_specs.select {|s| s.source.is_a?(Source::Path) }
|
228
220
|
path_plugin_files = requested_path_gems.map do |spec|
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
raise Gem::InvalidSpecificationException, error_message
|
234
|
-
end
|
221
|
+
Bundler.rubygems.spec_matches_for_glob(spec, "rubygems_plugin#{Bundler.rubygems.suffix_pattern}")
|
222
|
+
rescue TypeError
|
223
|
+
error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
|
224
|
+
raise Gem::InvalidSpecificationException, error_message
|
235
225
|
end.flatten
|
236
226
|
Bundler.rubygems.load_plugin_files(path_plugin_files)
|
237
227
|
Bundler.rubygems.load_env_plugins
|
@@ -1,8 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "force_platform"
|
4
|
+
|
3
5
|
module Bundler
|
4
6
|
class LazySpecification
|
5
7
|
include MatchPlatform
|
8
|
+
include ForcePlatform
|
6
9
|
|
7
10
|
attr_reader :name, :version, :dependencies, :platform
|
8
11
|
attr_accessor :source, :remote, :force_ruby_platform
|
@@ -14,6 +17,7 @@ module Bundler
|
|
14
17
|
@platform = platform || Gem::Platform::RUBY
|
15
18
|
@source = source
|
16
19
|
@specification = nil
|
20
|
+
@force_ruby_platform = default_force_ruby_platform
|
17
21
|
end
|
18
22
|
|
19
23
|
def full_name
|
@@ -79,7 +83,7 @@ module Bundler
|
|
79
83
|
candidates = if source.is_a?(Source::Path) || !ruby_platform_materializes_to_ruby_platform?
|
80
84
|
target_platform = ruby_platform_materializes_to_ruby_platform? ? platform : local_platform
|
81
85
|
|
82
|
-
GemHelpers.select_best_platform_match(source.specs.search(
|
86
|
+
GemHelpers.select_best_platform_match(source.specs.search([name, version]), target_platform)
|
83
87
|
else
|
84
88
|
source.specs.search(self)
|
85
89
|
end
|
@@ -63,7 +63,7 @@ module Bundler
|
|
63
63
|
@state = nil
|
64
64
|
@specs = {}
|
65
65
|
|
66
|
-
if lockfile.match(/<<<<<<<|=======|>>>>>>>|\|\|\|\|\|\|\|/)
|
66
|
+
if lockfile.match?(/<<<<<<<|=======|>>>>>>>|\|\|\|\|\|\|\|/)
|
67
67
|
raise LockfileError, "Your #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)} contains merge conflicts.\n" \
|
68
68
|
"Run `git checkout HEAD -- #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)}` first to get a clean lock."
|
69
69
|
end
|
@@ -80,7 +80,7 @@ module Bundler
|
|
80
80
|
@state = :ruby
|
81
81
|
elsif line == BUNDLED
|
82
82
|
@state = :bundled_with
|
83
|
-
elsif
|
83
|
+
elsif /^[^\s]/.match?(line)
|
84
84
|
@state = nil
|
85
85
|
elsif @state
|
86
86
|
send("parse_#{@state}", line)
|
@@ -100,9 +100,9 @@ module Bundler
|
|
100
100
|
private
|
101
101
|
|
102
102
|
TYPES = {
|
103
|
-
GIT
|
104
|
-
GEM
|
105
|
-
PATH
|
103
|
+
GIT => Bundler::Source::Git,
|
104
|
+
GEM => Bundler::Source::Rubygems,
|
105
|
+
PATH => Bundler::Source::Path,
|
106
106
|
PLUGIN => Bundler::Plugin,
|
107
107
|
}.freeze
|
108
108
|
|
@@ -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" "
|
4
|
+
.TH "BUNDLE\-BINSTUBS" "1" "December 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" "
|
4
|
+
.TH "BUNDLE\-CACHE" "1" "December 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
|
@@ -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" "
|
4
|
+
.TH "BUNDLE\-CHECK" "1" "December 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" "
|
4
|
+
.TH "BUNDLE\-CLEAN" "1" "December 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\-CONSOLE" "1" "
|
4
|
+
.TH "BUNDLE\-CONSOLE" "1" "December 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
|
@@ -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" "
|
4
|
+
.TH "BUNDLE\-GEM" "1" "December 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
|
@@ -31,41 +31,32 @@ The generated project skeleton can be customized with OPTIONS, as explained belo
|
|
31
31
|
.
|
32
32
|
.SH "OPTIONS"
|
33
33
|
.
|
34
|
-
.
|
35
|
-
\fB\-\-exe\fR or \fB\-b\fR or \fB\-\-bin\fR
|
36
|
-
Specify that Bundler should create a binary executable (as \fBexe/GEM_NAME\fR) in the generated rubygem project\. This binary will also be added to the \fBGEM_NAME\.gemspec\fR manifest\. This behavior is disabled by default\.
|
34
|
+
.IP "\(bu" 4
|
35
|
+
\fB\-\-exe\fR or \fB\-b\fR or \fB\-\-bin\fR: Specify that Bundler should create a binary executable (as \fBexe/GEM_NAME\fR) in the generated rubygem project\. This binary will also be added to the \fBGEM_NAME\.gemspec\fR manifest\. This behavior is disabled by default\.
|
37
36
|
.
|
38
|
-
.
|
39
|
-
\fB\-\-no\-exe\fR
|
40
|
-
Do not create a binary (overrides \fB\-\-exe\fR specified in the global config)\.
|
37
|
+
.IP "\(bu" 4
|
38
|
+
\fB\-\-no\-exe\fR: Do not create a binary (overrides \fB\-\-exe\fR specified in the global config)\.
|
41
39
|
.
|
42
|
-
.
|
43
|
-
\fB\-\-coc\fR
|
44
|
-
Add a \fBCODE_OF_CONDUCT\.md\fR file to the root of the generated project\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
|
40
|
+
.IP "\(bu" 4
|
41
|
+
\fB\-\-coc\fR: Add a \fBCODE_OF_CONDUCT\.md\fR file to the root of the generated project\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
|
45
42
|
.
|
46
|
-
.
|
47
|
-
\fB\-\-no\-coc\fR
|
48
|
-
Do not create a \fBCODE_OF_CONDUCT\.md\fR (overrides \fB\-\-coc\fR specified in the global config)\.
|
43
|
+
.IP "\(bu" 4
|
44
|
+
\fB\-\-no\-coc\fR: Do not create a \fBCODE_OF_CONDUCT\.md\fR (overrides \fB\-\-coc\fR specified in the global config)\.
|
49
45
|
.
|
50
|
-
.
|
51
|
-
\fB\-\-ext\fR
|
52
|
-
Add boilerplate for C extension code to the generated project\. This behavior is disabled by default\.
|
46
|
+
.IP "\(bu" 4
|
47
|
+
\fB\-\-ext=c\fR, \fB\-\-ext=rust\fR Add boilerplate for C or Rust (currently magnus \fIhttps://docs\.rs/magnus\fR based) extension code to the generated project\. This behavior is disabled by default\.
|
53
48
|
.
|
54
|
-
.
|
55
|
-
\fB\-\-no\-ext\fR
|
56
|
-
Do not add C extension code (overrides \fB\-\-ext\fR specified in the global config)\.
|
49
|
+
.IP "\(bu" 4
|
50
|
+
\fB\-\-no\-ext\fR: Do not add extension code (overrides \fB\-\-ext\fR specified in the global config)\.
|
57
51
|
.
|
58
|
-
.
|
59
|
-
\fB\-\-mit\fR
|
60
|
-
Add an MIT license to a \fBLICENSE\.txt\fR file in the root of the generated project\. Your name from the global git config is used for the copyright statement\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
|
52
|
+
.IP "\(bu" 4
|
53
|
+
\fB\-\-mit\fR: Add an MIT license to a \fBLICENSE\.txt\fR file in the root of the generated project\. Your name from the global git config is used for the copyright statement\. If this option is unspecified, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
|
61
54
|
.
|
62
|
-
.
|
63
|
-
\fB\-\-no\-mit\fR
|
64
|
-
Do not create a \fBLICENSE\.txt\fR (overrides \fB\-\-mit\fR specified in the global config)\.
|
55
|
+
.IP "\(bu" 4
|
56
|
+
\fB\-\-no\-mit\fR: Do not create a \fBLICENSE\.txt\fR (overrides \fB\-\-mit\fR specified in the global config)\.
|
65
57
|
.
|
66
|
-
.
|
67
|
-
\fB\-t\fR, \fB\-\-test=minitest\fR, \fB\-\-test=rspec\fR, \fB\-\-test=test\-unit\fR
|
68
|
-
Specify the test framework that Bundler should use when generating the project\. Acceptable values are \fBminitest\fR, \fBrspec\fR and \fBtest\-unit\fR\. The \fBGEM_NAME\.gemspec\fR will be configured and a skeleton test/spec directory will be created based on this option\. Given no option is specified:
|
58
|
+
.IP "\(bu" 4
|
59
|
+
\fB\-t\fR, \fB\-\-test=minitest\fR, \fB\-\-test=rspec\fR, \fB\-\-test=test\-unit\fR: Specify the test framework that Bundler should use when generating the project\. Acceptable values are \fBminitest\fR, \fBrspec\fR and \fBtest\-unit\fR\. The \fBGEM_NAME\.gemspec\fR will be configured and a skeleton test/spec directory will be created based on this option\. Given no option is specified:
|
69
60
|
.
|
70
61
|
.IP
|
71
62
|
When Bundler is configured to generate tests, this defaults to Bundler\'s global config setting \fBgem\.test\fR\.
|
@@ -76,9 +67,8 @@ When Bundler is configured to not generate tests, an interactive prompt will be
|
|
76
67
|
.IP
|
77
68
|
When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
|
78
69
|
.
|
79
|
-
.
|
80
|
-
\fB\-\-ci\fR, \fB\-\-ci=github\fR, \fB\-\-ci=
|
81
|
-
Specify the continuous integration service that Bundler should use when generating the project\. Acceptable values are \fBgithub\fR, \fBtravis\fR, \fBgitlab\fR and \fBcircle\fR\. A configuration file will be generated in the project directory\. Given no option is specified:
|
70
|
+
.IP "\(bu" 4
|
71
|
+
\fB\-\-ci\fR, \fB\-\-ci=github\fR, \fB\-\-ci=gitlab\fR, \fB\-\-ci=circle\fR: Specify the continuous integration service that Bundler should use when generating the project\. Acceptable values are \fBgithub\fR, \fBgitlab\fR and \fBcircle\fR\. A configuration file will be generated in the project directory\. Given no option is specified:
|
82
72
|
.
|
83
73
|
.IP
|
84
74
|
When Bundler is configured to generate CI files, this defaults to Bundler\'s global config setting \fBgem\.ci\fR\.
|
@@ -89,9 +79,8 @@ When Bundler is configured to not generate CI files, an interactive prompt will
|
|
89
79
|
.IP
|
90
80
|
When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
|
91
81
|
.
|
92
|
-
.
|
93
|
-
\fB\-\-linter\fR, \fB\-\-linter=rubocop\fR, \fB\-\-linter=standard\fR
|
94
|
-
Specify the linter and code formatter that Bundler should add to the project\'s development dependencies\. Acceptable values are \fBrubocop\fR and \fBstandard\fR\. A configuration file will be generated in the project directory\. Given no option is specified:
|
82
|
+
.IP "\(bu" 4
|
83
|
+
\fB\-\-linter\fR, \fB\-\-linter=rubocop\fR, \fB\-\-linter=standard\fR: Specify the linter and code formatter that Bundler should add to the project\'s development dependencies\. Acceptable values are \fBrubocop\fR and \fBstandard\fR\. A configuration file will be generated in the project directory\. Given no option is specified:
|
95
84
|
.
|
96
85
|
.IP
|
97
86
|
When Bundler is configured to add a linter, this defaults to Bundler\'s global config setting \fBgem\.linter\fR\.
|
@@ -102,9 +91,10 @@ When Bundler is configured not to add a linter, an interactive prompt will be di
|
|
102
91
|
.IP
|
103
92
|
When Bundler is unconfigured, an interactive prompt will be displayed and the answer will be saved in Bundler\'s global config for future \fBbundle gem\fR use\.
|
104
93
|
.
|
105
|
-
.
|
106
|
-
\fB\-e\fR, \fB\-\-edit[=EDITOR]\fR
|
107
|
-
|
94
|
+
.IP "\(bu" 4
|
95
|
+
\fB\-e\fR, \fB\-\-edit[=EDITOR]\fR: Open the resulting GEM_NAME\.gemspec in EDITOR, or the default editor if not specified\. The default is \fB$BUNDLER_EDITOR\fR, \fB$VISUAL\fR, or \fB$EDITOR\fR\.
|
96
|
+
.
|
97
|
+
.IP "" 0
|
108
98
|
.
|
109
99
|
.SH "SEE ALSO"
|
110
100
|
.
|
@@ -41,12 +41,12 @@ configuration file using the following names:
|
|
41
41
|
Do not create a `CODE_OF_CONDUCT.md` (overrides `--coc` specified in the
|
42
42
|
global config).
|
43
43
|
|
44
|
-
* `--ext
|
45
|
-
Add boilerplate for C extension code to the generated project. This behavior
|
44
|
+
* `--ext=c`, `--ext=rust`
|
45
|
+
Add boilerplate for C or Rust (currently [magnus](https://docs.rs/magnus) based) extension code to the generated project. This behavior
|
46
46
|
is disabled by default.
|
47
47
|
|
48
48
|
* `--no-ext`:
|
49
|
-
Do not add
|
49
|
+
Do not add extension code (overrides `--ext` specified in the global
|
50
50
|
config).
|
51
51
|
|
52
52
|
* `--mit`:
|
@@ -76,9 +76,9 @@ configuration file using the following names:
|
|
76
76
|
the answer will be saved in Bundler's global config for future `bundle gem`
|
77
77
|
use.
|
78
78
|
|
79
|
-
* `--ci`, `--ci=github`, `--ci=
|
79
|
+
* `--ci`, `--ci=github`, `--ci=gitlab`, `--ci=circle`:
|
80
80
|
Specify the continuous integration service that Bundler should use when
|
81
|
-
generating the project. Acceptable values are `github`, `
|
81
|
+
generating the project. Acceptable values are `github`, `gitlab`
|
82
82
|
and `circle`. A configuration file will be generated in the project directory.
|
83
83
|
Given no option is specified:
|
84
84
|
|
@@ -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" "
|
4
|
+
.TH "BUNDLE\-INFO" "1" "December 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" "
|
4
|
+
.TH "BUNDLE\-INIT" "1" "December 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" "
|
4
|
+
.TH "BUNDLE\-INJECT" "1" "December 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
@@ -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" "
|
4
|
+
.TH "BUNDLE\-INSTALL" "1" "December 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
@@ -170,35 +170,6 @@ As a result, \fBbundle install \-\-deployment\fR installs gems to the \fBvendor/
|
|
170
170
|
.
|
171
171
|
.IP "" 0
|
172
172
|
.
|
173
|
-
.SH "SUDO USAGE"
|
174
|
-
By default, Bundler installs gems to the same location as \fBgem install\fR\.
|
175
|
-
.
|
176
|
-
.P
|
177
|
-
In some cases, that location may not be writable by your Unix user\. In that case, Bundler will stage everything in a temporary directory, then ask you for your \fBsudo\fR password in order to copy the gems into their system location\.
|
178
|
-
.
|
179
|
-
.P
|
180
|
-
From your perspective, this is identical to installing the gems directly into the system\.
|
181
|
-
.
|
182
|
-
.P
|
183
|
-
You should never use \fBsudo bundle install\fR\. This is because several other steps in \fBbundle install\fR must be performed as the current user:
|
184
|
-
.
|
185
|
-
.IP "\(bu" 4
|
186
|
-
Updating your \fBGemfile\.lock\fR
|
187
|
-
.
|
188
|
-
.IP "\(bu" 4
|
189
|
-
Updating your \fBvendor/cache\fR, if necessary
|
190
|
-
.
|
191
|
-
.IP "\(bu" 4
|
192
|
-
Checking out private git repositories using your user\'s SSH keys
|
193
|
-
.
|
194
|
-
.IP "" 0
|
195
|
-
.
|
196
|
-
.P
|
197
|
-
Of these three, the first two could theoretically be performed by \fBchown\fRing the resulting files to \fB$SUDO_USER\fR\. The third, however, can only be performed by invoking the \fBgit\fR command as the current user\. Therefore, git gems are downloaded and installed into \fB~/\.bundle\fR rather than $GEM_HOME or $BUNDLE_PATH\.
|
198
|
-
.
|
199
|
-
.P
|
200
|
-
As a result, you should run \fBbundle install\fR as the current user, and Bundler will ask for your password if it is needed to put the gems into their final location\.
|
201
|
-
.
|
202
173
|
.SH "INSTALLING GROUPS"
|
203
174
|
By default, \fBbundle install\fR will install all gems in all groups in your Gemfile(5), except those declared for a different platform\.
|
204
175
|
.
|
@@ -224,35 +224,6 @@ will cause an error when the Gemfile(5) is modified.
|
|
224
224
|
the `vendor/bundle` directory in the application. This may be
|
225
225
|
overridden using the `--path` option.
|
226
226
|
|
227
|
-
## SUDO USAGE
|
228
|
-
|
229
|
-
By default, Bundler installs gems to the same location as `gem install`.
|
230
|
-
|
231
|
-
In some cases, that location may not be writable by your Unix user. In
|
232
|
-
that case, Bundler will stage everything in a temporary directory,
|
233
|
-
then ask you for your `sudo` password in order to copy the gems into
|
234
|
-
their system location.
|
235
|
-
|
236
|
-
From your perspective, this is identical to installing the gems
|
237
|
-
directly into the system.
|
238
|
-
|
239
|
-
You should never use `sudo bundle install`. This is because several
|
240
|
-
other steps in `bundle install` must be performed as the current user:
|
241
|
-
|
242
|
-
* Updating your `Gemfile.lock`
|
243
|
-
* Updating your `vendor/cache`, if necessary
|
244
|
-
* Checking out private git repositories using your user's SSH keys
|
245
|
-
|
246
|
-
Of these three, the first two could theoretically be performed by
|
247
|
-
`chown`ing the resulting files to `$SUDO_USER`. The third, however,
|
248
|
-
can only be performed by invoking the `git` command as
|
249
|
-
the current user. Therefore, git gems are downloaded and installed
|
250
|
-
into `~/.bundle` rather than $GEM_HOME or $BUNDLE_PATH.
|
251
|
-
|
252
|
-
As a result, you should run `bundle install` as the current user,
|
253
|
-
and Bundler will ask for your password if it is needed to put the
|
254
|
-
gems into their final location.
|
255
|
-
|
256
227
|
## INSTALLING GROUPS
|
257
228
|
|
258
229
|
By default, `bundle install` will install all gems in all groups
|
@@ -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" "
|
4
|
+
.TH "BUNDLE\-OPEN" "1" "December 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" "
|
4
|
+
.TH "BUNDLE\-OUTDATED" "1" "December 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" "
|
4
|
+
.TH "BUNDLE\-PLATFORM" "1" "December 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
@@ -65,7 +65,7 @@ It will display the ruby directive information, so you don\'t have to parse it f
|
|
65
65
|
.SH "SEE ALSO"
|
66
66
|
.
|
67
67
|
.IP "\(bu" 4
|
68
|
-
bundle\-lock(1) \fIbundle\-lock\.1\.
|
68
|
+
bundle\-lock(1) \fIbundle\-lock\.1\.html\fR
|
69
69
|
.
|
70
70
|
.IP "" 0
|
71
71
|
|