bundler 2.2.29 → 2.5.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1129 -4
- data/README.md +4 -8
- data/bundler.gemspec +11 -11
- data/exe/bundle +5 -26
- data/exe/bundler +1 -1
- data/lib/bundler/.document +1 -0
- data/lib/bundler/build_metadata.rb +4 -4
- data/lib/bundler/capistrano.rb +1 -1
- data/lib/bundler/checksum.rb +254 -0
- data/lib/bundler/ci_detector.rb +75 -0
- data/lib/bundler/cli/add.rb +4 -4
- data/lib/bundler/cli/binstubs.rb +10 -6
- data/lib/bundler/cli/cache.rb +1 -1
- data/lib/bundler/cli/check.rb +3 -3
- data/lib/bundler/cli/common.rb +13 -3
- data/lib/bundler/cli/config.rb +18 -8
- data/lib/bundler/cli/console.rb +5 -4
- data/lib/bundler/cli/doctor.rb +12 -5
- data/lib/bundler/cli/exec.rb +1 -1
- data/lib/bundler/cli/fund.rb +1 -1
- data/lib/bundler/cli/gem.rb +141 -48
- data/lib/bundler/cli/info.rb +27 -17
- data/lib/bundler/cli/init.rb +6 -2
- data/lib/bundler/cli/install.rb +22 -39
- data/lib/bundler/cli/issue.rb +5 -4
- data/lib/bundler/cli/lock.rb +36 -29
- data/lib/bundler/cli/open.rb +9 -9
- data/lib/bundler/cli/outdated.rb +19 -12
- data/lib/bundler/cli/platform.rb +8 -6
- data/lib/bundler/cli/plugin.rb +9 -15
- data/lib/bundler/cli/pristine.rb +38 -30
- data/lib/bundler/cli/show.rb +3 -3
- data/lib/bundler/cli/update.rb +12 -7
- data/lib/bundler/cli/viz.rb +1 -1
- data/lib/bundler/cli.rb +266 -285
- data/lib/bundler/compact_index_client/cache.rb +53 -67
- data/lib/bundler/compact_index_client/cache_file.rb +153 -0
- data/lib/bundler/compact_index_client/gem_parser.rb +7 -3
- data/lib/bundler/compact_index_client/parser.rb +84 -0
- data/lib/bundler/compact_index_client/updater.rb +83 -76
- data/lib/bundler/compact_index_client.rb +59 -87
- data/lib/bundler/constants.rb +9 -2
- data/lib/bundler/current_ruby.rb +12 -16
- data/lib/bundler/definition.rb +509 -319
- data/lib/bundler/dependency.rb +33 -71
- data/lib/bundler/digest.rb +71 -0
- data/lib/bundler/dsl.rb +88 -69
- data/lib/bundler/endpoint_specification.rb +32 -15
- data/lib/bundler/env.rb +5 -7
- data/lib/bundler/environment_preserver.rb +8 -22
- data/lib/bundler/errors.rb +101 -13
- data/lib/bundler/feature_flag.rb +0 -2
- data/lib/bundler/fetcher/base.rb +11 -11
- data/lib/bundler/fetcher/compact_index.rb +32 -52
- data/lib/bundler/fetcher/dependency.rb +3 -7
- data/lib/bundler/fetcher/downloader.rb +17 -16
- data/lib/bundler/fetcher/gem_remote_fetcher.rb +16 -0
- data/lib/bundler/fetcher/index.rb +2 -29
- data/lib/bundler/fetcher.rb +87 -79
- data/lib/bundler/force_platform.rb +18 -0
- data/lib/bundler/friendly_errors.rb +29 -40
- data/lib/bundler/gem_helper.rb +11 -23
- data/lib/bundler/gem_helpers.rb +30 -6
- data/lib/bundler/gem_version_promoter.rb +68 -109
- data/lib/bundler/graph.rb +9 -9
- data/lib/bundler/index.rb +71 -79
- data/lib/bundler/injector.rb +23 -11
- data/lib/bundler/inline.rb +11 -23
- data/lib/bundler/installer/gem_installer.rb +18 -11
- data/lib/bundler/installer/parallel_installer.rb +17 -65
- data/lib/bundler/installer/standalone.rb +56 -15
- data/lib/bundler/installer.rb +35 -61
- data/lib/bundler/lazy_specification.rb +92 -61
- data/lib/bundler/lockfile_generator.rb +12 -3
- data/lib/bundler/lockfile_parser.rb +137 -70
- data/lib/bundler/man/bundle-add.1 +19 -26
- data/lib/bundler/man/bundle-add.1.ronn +16 -4
- data/lib/bundler/man/bundle-binstubs.1 +4 -16
- data/lib/bundler/man/bundle-cache.1 +9 -24
- data/lib/bundler/man/bundle-cache.1.ronn +9 -2
- data/lib/bundler/man/bundle-check.1 +5 -12
- data/lib/bundler/man/bundle-check.1.ronn +3 -0
- data/lib/bundler/man/bundle-clean.1 +4 -11
- data/lib/bundler/man/bundle-clean.1.ronn +1 -1
- data/lib/bundler/man/bundle-config.1 +47 -224
- data/lib/bundler/man/bundle-config.1.ronn +40 -28
- data/lib/bundler/man/bundle-console.1 +35 -0
- data/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/lib/bundler/man/bundle-doctor.1 +4 -18
- data/lib/bundler/man/bundle-exec.1 +16 -77
- data/lib/bundler/man/bundle-exec.1.ronn +8 -9
- data/lib/bundler/man/bundle-gem.1 +45 -72
- data/lib/bundler/man/bundle-gem.1.ronn +32 -5
- data/lib/bundler/man/bundle-help.1 +9 -0
- data/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/lib/bundler/man/bundle-info.1 +5 -11
- data/lib/bundler/man/bundle-info.1.ronn +3 -3
- data/lib/bundler/man/bundle-init.1 +6 -11
- data/lib/bundler/man/bundle-init.1.ronn +2 -0
- data/lib/bundler/man/bundle-inject.1 +8 -18
- data/lib/bundler/man/bundle-inject.1.ronn +3 -1
- data/lib/bundler/man/bundle-install.1 +32 -155
- data/lib/bundler/man/bundle-install.1.ronn +11 -33
- data/lib/bundler/man/bundle-list.1 +4 -19
- data/lib/bundler/man/bundle-lock.1 +5 -29
- data/lib/bundler/man/bundle-open.1 +18 -18
- data/lib/bundler/man/bundle-open.1.ronn +9 -1
- data/lib/bundler/man/bundle-outdated.1 +17 -72
- data/lib/bundler/man/bundle-outdated.1.ronn +13 -18
- data/lib/bundler/man/bundle-platform.1 +16 -28
- data/lib/bundler/man/bundle-platform.1.ronn +14 -7
- data/lib/bundler/man/bundle-plugin.1 +58 -0
- data/lib/bundler/man/bundle-plugin.1.ronn +63 -0
- data/lib/bundler/man/bundle-pristine.1 +5 -16
- data/lib/bundler/man/bundle-remove.1 +4 -14
- data/lib/bundler/man/bundle-show.1 +3 -10
- data/lib/bundler/man/bundle-update.1 +19 -138
- data/lib/bundler/man/bundle-update.1.ronn +2 -1
- data/lib/bundler/man/bundle-version.1 +22 -0
- data/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/lib/bundler/man/bundle-viz.1 +6 -15
- data/lib/bundler/man/bundle-viz.1.ronn +2 -0
- data/lib/bundler/man/bundle.1 +17 -51
- data/lib/bundler/man/bundle.1.ronn +12 -7
- data/lib/bundler/man/gemfile.5 +130 -346
- data/lib/bundler/man/gemfile.5.ronn +121 -86
- data/lib/bundler/man/index.txt +4 -0
- data/lib/bundler/match_metadata.rb +17 -0
- data/lib/bundler/match_platform.rb +1 -2
- data/lib/bundler/match_remote_metadata.rb +29 -0
- data/lib/bundler/mirror.rb +8 -10
- data/lib/bundler/plugin/api/source.rb +9 -13
- data/lib/bundler/plugin/index.rb +13 -5
- data/lib/bundler/plugin/installer/git.rb +0 -4
- data/lib/bundler/plugin/installer/path.rb +18 -0
- data/lib/bundler/plugin/installer/rubygems.rb +0 -8
- data/lib/bundler/plugin/installer.rb +42 -19
- data/lib/bundler/plugin/source_list.rb +4 -4
- data/lib/bundler/plugin.rb +16 -7
- data/lib/bundler/process_lock.rb +1 -1
- data/lib/bundler/remote_specification.rb +11 -5
- data/lib/bundler/resolver/base.rb +111 -0
- data/lib/bundler/resolver/candidate.rb +82 -0
- data/lib/bundler/resolver/incompatibility.rb +15 -0
- data/lib/bundler/resolver/package.rb +81 -0
- data/lib/bundler/resolver/root.rb +25 -0
- data/lib/bundler/resolver/spec_group.rb +53 -66
- data/lib/bundler/resolver.rb +419 -307
- data/lib/bundler/retry.rb +1 -1
- data/lib/bundler/ruby_dsl.rb +42 -7
- data/lib/bundler/ruby_version.rb +16 -22
- data/lib/bundler/rubygems_ext.rb +250 -64
- data/lib/bundler/rubygems_gem_installer.rb +90 -64
- data/lib/bundler/rubygems_integration.rb +81 -190
- data/lib/bundler/runtime.rb +8 -13
- data/lib/bundler/safe_marshal.rb +31 -0
- data/lib/bundler/self_manager.rb +206 -0
- data/lib/bundler/settings.rb +139 -57
- data/lib/bundler/setup.rb +13 -1
- data/lib/bundler/shared_helpers.rb +67 -36
- data/lib/bundler/source/git/git_proxy.rb +285 -82
- data/lib/bundler/source/git.rb +81 -41
- data/lib/bundler/source/metadata.rb +17 -16
- data/lib/bundler/source/path/installer.rb +1 -22
- data/lib/bundler/source/path.rb +13 -25
- data/lib/bundler/source/rubygems/remote.rb +1 -1
- data/lib/bundler/source/rubygems.rb +164 -234
- data/lib/bundler/source/rubygems_aggregate.rb +1 -1
- data/lib/bundler/source.rb +7 -6
- data/lib/bundler/source_list.rb +40 -32
- data/lib/bundler/source_map.rb +15 -2
- data/lib/bundler/spec_set.rb +156 -46
- data/lib/bundler/stub_specification.rb +18 -5
- data/lib/bundler/templates/Executable +3 -5
- data/lib/bundler/templates/Executable.bundler +7 -12
- data/lib/bundler/templates/Executable.standalone +4 -4
- data/lib/bundler/templates/Gemfile +0 -2
- data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +77 -29
- data/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
- data/lib/bundler/templates/newgem/Gemfile.tt +8 -2
- data/lib/bundler/templates/newgem/README.md.tt +7 -11
- data/lib/bundler/templates/newgem/Rakefile.tt +28 -4
- data/lib/bundler/templates/newgem/bin/console.tt +0 -4
- data/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
- data/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
- data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
- data/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +13 -3
- data/lib/bundler/templates/newgem/gitignore.tt +3 -0
- data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +13 -4
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +25 -17
- data/lib/bundler/templates/newgem/rubocop.yml.tt +0 -5
- data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
- data/lib/bundler/templates/newgem/standard.yml.tt +3 -0
- data/lib/bundler/templates/newgem/test/minitest/{newgem_test.rb.tt → test_newgem.rb.tt} +1 -1
- data/lib/bundler/ui/rg_proxy.rb +1 -1
- data/lib/bundler/ui/shell.rb +38 -15
- data/lib/bundler/ui/silent.rb +21 -5
- data/lib/bundler/uri_credentials_filter.rb +2 -2
- data/lib/bundler/uri_normalizer.rb +23 -0
- data/lib/bundler/vendor/.document +1 -0
- data/lib/bundler/vendor/connection_pool/.document +1 -0
- data/lib/bundler/vendor/connection_pool/LICENSE +20 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +92 -78
- data/lib/bundler/vendor/fileutils/.document +1 -0
- data/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
- data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1340 -410
- data/lib/bundler/vendor/net-http-persistent/.document +1 -0
- data/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +4 -3
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +23 -11
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +1 -1
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +57 -57
- data/lib/bundler/vendor/pub_grub/.document +1 -0
- data/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +61 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +248 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
- data/lib/bundler/vendor/thor/.document +1 -0
- data/lib/bundler/vendor/thor/LICENSE.md +20 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +3 -2
- data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +12 -14
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +16 -6
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +21 -17
- data/lib/bundler/vendor/thor/lib/thor/base.rb +140 -14
- data/lib/bundler/vendor/thor/lib/thor/command.rb +13 -4
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +10 -0
- data/lib/bundler/vendor/thor/lib/thor/error.rb +16 -20
- data/lib/bundler/vendor/thor/lib/thor/group.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/nested_context.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +20 -1
- data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +33 -17
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +27 -8
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +63 -7
- data/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/runner.rb +40 -30
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +48 -154
- data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -46
- data/lib/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +0 -45
- data/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +134 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
- data/lib/bundler/vendor/thor/lib/thor/shell.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/util.rb +9 -8
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor.rb +155 -8
- data/lib/bundler/vendor/tsort/.document +1 -0
- data/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
- data/lib/bundler/vendor/tsort/lib/tsort.rb +455 -0
- data/lib/bundler/vendor/uri/.document +1 -0
- data/lib/bundler/vendor/uri/LICENSE.txt +22 -0
- data/lib/bundler/vendor/uri/lib/uri/common.rb +316 -207
- data/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
- data/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -2
- data/lib/bundler/vendor/uri/lib/uri/generic.rb +33 -13
- data/lib/bundler/vendor/uri/lib/uri/http.rb +40 -3
- data/lib/bundler/vendor/uri/lib/uri/https.rb +2 -2
- data/lib/bundler/vendor/uri/lib/uri/ldap.rb +2 -2
- data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
- data/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -3
- data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +16 -23
- data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +105 -47
- data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
- data/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
- data/lib/bundler/vendor/uri/lib/uri.rb +3 -3
- data/lib/bundler/vendored_net_http.rb +23 -0
- data/lib/bundler/vendored_persistent.rb +0 -36
- data/lib/bundler/{vendored_molinillo.rb → vendored_pub_grub.rb} +1 -1
- data/lib/bundler/vendored_timeout.rb +12 -0
- data/lib/bundler/{vendored_tmpdir.rb → vendored_tsort.rb} +1 -1
- data/lib/bundler/vendored_uri.rb +18 -1
- data/lib/bundler/version.rb +5 -1
- data/lib/bundler/vlad.rb +1 -1
- data/lib/bundler/worker.rb +7 -9
- data/lib/bundler/yaml_serializer.rb +21 -12
- data/lib/bundler.rb +114 -121
- metadata +87 -41
- data/lib/bundler/dep_proxy.rb +0 -55
- data/lib/bundler/gemdeps.rb +0 -29
- data/lib/bundler/psyched_yaml.rb +0 -22
- data/lib/bundler/templates/gems.rb +0 -8
- data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +0 -5
- data/lib/bundler/templates/newgem/travis.yml.tt +0 -6
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -143
- data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
- data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
- data/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
- data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
- data/lib/bundler/version_ranges.rb +0 -122
@@ -3,7 +3,10 @@ bundle-config(1) -- Set bundler configuration options
|
|
3
3
|
|
4
4
|
## SYNOPSIS
|
5
5
|
|
6
|
-
`bundle config`
|
6
|
+
`bundle config` list<br>
|
7
|
+
`bundle config` [get] NAME<br>
|
8
|
+
`bundle config` [set] NAME VALUE<br>
|
9
|
+
`bundle config` unset NAME
|
7
10
|
|
8
11
|
## DESCRIPTION
|
9
12
|
|
@@ -16,33 +19,35 @@ Bundler loads configuration settings in this order:
|
|
16
19
|
3. Global config (`~/.bundle/config`)
|
17
20
|
4. Bundler default config
|
18
21
|
|
19
|
-
Executing `bundle config list`
|
22
|
+
Executing `bundle config list` will print a list of all bundler
|
20
23
|
configuration for the current bundle, and where that configuration
|
21
24
|
was set.
|
22
25
|
|
23
26
|
Executing `bundle config get <name>` will print the value of that configuration
|
24
27
|
setting, and where it was set.
|
25
28
|
|
26
|
-
Executing `bundle config set <name> <value>`
|
27
|
-
|
28
|
-
|
29
|
-
overridden and user will be warned.
|
30
|
-
|
31
|
-
Executing `bundle config set --global <name> <value>` works the same as above.
|
29
|
+
Executing `bundle config set <name> <value>` defaults to setting `local`
|
30
|
+
configuration if executing from within a local application, otherwise it will
|
31
|
+
set `global` configuration. See `--local` and `--global` options below.
|
32
32
|
|
33
33
|
Executing `bundle config set --local <name> <value>` will set that configuration
|
34
34
|
in the directory for the local application. The configuration will be stored in
|
35
35
|
`<project_root>/.bundle/config`. If `BUNDLE_APP_CONFIG` is set, the configuration
|
36
36
|
will be stored in `$BUNDLE_APP_CONFIG/config`.
|
37
37
|
|
38
|
+
Executing `bundle config set --global <name> <value>` will set that
|
39
|
+
configuration to the value specified for all bundles executed as the current
|
40
|
+
user. The configuration will be stored in `~/.bundle/config`. If <name> already
|
41
|
+
is set, <name> will be overridden and user will be warned.
|
42
|
+
|
38
43
|
Executing `bundle config unset <name>` will delete the configuration in both
|
39
44
|
local and global sources.
|
40
45
|
|
41
46
|
Executing `bundle config unset --global <name>` will delete the configuration
|
42
47
|
only from the user configuration.
|
43
48
|
|
44
|
-
Executing `bundle config unset --local <name
|
45
|
-
|
49
|
+
Executing `bundle config unset --local <name>` will delete the configuration
|
50
|
+
only from the local application.
|
46
51
|
|
47
52
|
Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
|
48
53
|
cause it to ignore all configuration.
|
@@ -72,6 +77,9 @@ The options that can be configured are:
|
|
72
77
|
`production` use. Please check carefully if you want to have this option
|
73
78
|
enabled in `development` or `test` environments.
|
74
79
|
|
80
|
+
* `only`:
|
81
|
+
A space-separated list of groups to install only gems of the specified groups.
|
82
|
+
|
75
83
|
* `path`:
|
76
84
|
The location to install the specified gems to. This defaults to Rubygems'
|
77
85
|
setting. Bundler shares this location with Rubygems, `gem install ...` will
|
@@ -83,7 +91,7 @@ The options that can be configured are:
|
|
83
91
|
A space-separated list of groups referencing gems to skip during installation.
|
84
92
|
|
85
93
|
* `with`:
|
86
|
-
A space-separated list of groups referencing gems to include during installation.
|
94
|
+
A space-separated list of **optional** groups referencing gems to include during installation.
|
87
95
|
|
88
96
|
## BUILD OPTIONS
|
89
97
|
|
@@ -129,9 +137,6 @@ the environment variable `BUNDLE_LOCAL__RACK`.
|
|
129
137
|
The following is a list of all configuration keys and their purpose. You can
|
130
138
|
learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
131
139
|
|
132
|
-
* `allow_deployment_source_credential_changes` (`BUNDLE_ALLOW_DEPLOYMENT_SOURCE_CREDENTIAL_CHANGES`):
|
133
|
-
When in deployment mode, allow changing the credentials to a gem's source.
|
134
|
-
Ex: `https://some.host.com/gems/path/` -> `https://user_name:password@some.host.com/gems/path`
|
135
140
|
* `allow_offline_install` (`BUNDLE_ALLOW_OFFLINE_INSTALL`):
|
136
141
|
Allow Bundler to use cached data when installing without network access.
|
137
142
|
* `auto_clean_without_path` (`BUNDLE_AUTO_CLEAN_WITHOUT_PATH`):
|
@@ -202,18 +207,22 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|
202
207
|
* `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
|
203
208
|
Whether Bundler should cache all gems globally, rather than locally to the
|
204
209
|
installing Ruby installation.
|
210
|
+
* `ignore_funding_requests` (`BUNDLE_IGNORE_FUNDING_REQUESTS`):
|
211
|
+
When set, no funding requests will be printed.
|
205
212
|
* `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
|
206
213
|
When set, no post install messages will be printed. To silence a single gem,
|
207
214
|
use dot notation like `ignore_messages.httparty true`.
|
208
215
|
* `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`):
|
209
216
|
Generate a `gems.rb` instead of a `Gemfile` when running `bundle init`.
|
210
217
|
* `jobs` (`BUNDLE_JOBS`):
|
211
|
-
The number of gems Bundler can install in parallel. Defaults to
|
212
|
-
|
218
|
+
The number of gems Bundler can install in parallel. Defaults to the number of
|
219
|
+
available processors.
|
213
220
|
* `no_install` (`BUNDLE_NO_INSTALL`):
|
214
221
|
Whether `bundle package` should skip installing gems.
|
215
222
|
* `no_prune` (`BUNDLE_NO_PRUNE`):
|
216
223
|
Whether Bundler should leave outdated gems unpruned when caching.
|
224
|
+
* `only` (`BUNDLE_ONLY`):
|
225
|
+
A space-separated list of groups to install only gems of the specified groups.
|
217
226
|
* `path` (`BUNDLE_PATH`):
|
218
227
|
The location on disk where all gems in your bundle will be located regardless
|
219
228
|
of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
|
@@ -253,9 +262,6 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|
253
262
|
* `ssl_verify_mode` (`BUNDLE_SSL_VERIFY_MODE`):
|
254
263
|
The SSL verification mode Bundler uses when making HTTPS requests.
|
255
264
|
Defaults to verify peer.
|
256
|
-
* `suppress_install_using_messages` (`BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES`):
|
257
|
-
Avoid printing `Using ...` messages during installation when the version of
|
258
|
-
a gem has not changed.
|
259
265
|
* `system_bindir` (`BUNDLE_SYSTEM_BINDIR`):
|
260
266
|
The location where RubyGems installs binstubs. Defaults to `Gem.bindir`.
|
261
267
|
* `timeout` (`BUNDLE_TIMEOUT`):
|
@@ -265,13 +271,19 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|
265
271
|
and disallow passing no options to `bundle update`.
|
266
272
|
* `user_agent` (`BUNDLE_USER_AGENT`):
|
267
273
|
The custom user agent fragment Bundler includes in API requests.
|
274
|
+
* `version` (`BUNDLE_VERSION`):
|
275
|
+
The version of Bundler to use when running under Bundler environment.
|
276
|
+
Defaults to `lockfile`. You can also specify `system` or `x.y.z`.
|
277
|
+
`lockfile` will use the Bundler version specified in the `Gemfile.lock`,
|
278
|
+
`system` will use the system version of Bundler, and `x.y.z` will use
|
279
|
+
the specified version of Bundler.
|
268
280
|
* `with` (`BUNDLE_WITH`):
|
269
281
|
A `:`-separated list of groups whose gems bundler should install.
|
270
282
|
* `without` (`BUNDLE_WITHOUT`):
|
271
283
|
A `:`-separated list of groups whose gems bundler should not install.
|
272
284
|
|
273
285
|
In general, you should set these settings per-application by using the applicable
|
274
|
-
flag to the [bundle install(1)](bundle-install.1.html) or [bundle
|
286
|
+
flag to the [bundle install(1)](bundle-install.1.html) or [bundle cache(1)](bundle-cache.1.html) command.
|
275
287
|
|
276
288
|
You can set them globally either via environment variables or `bundle config`,
|
277
289
|
whichever is preferable for your setup. If you use both, environment variables
|
@@ -319,9 +331,9 @@ mirror to fetch gems.
|
|
319
331
|
|
320
332
|
bundle config set --global mirror.SOURCE_URL MIRROR_URL
|
321
333
|
|
322
|
-
For example, to use a mirror of rubygems.org hosted at
|
334
|
+
For example, to use a mirror of https://rubygems.org hosted at https://example.org:
|
323
335
|
|
324
|
-
bundle config set --global mirror.
|
336
|
+
bundle config set --global mirror.https://rubygems.org https://example.org
|
325
337
|
|
326
338
|
Each mirror also provides a fallback timeout setting. If the mirror does not
|
327
339
|
respond within the fallback timeout, Bundler will try to use the original
|
@@ -360,23 +372,23 @@ Or you can set the credentials as an environment variable like so:
|
|
360
372
|
|
361
373
|
export BUNDLE_GITHUB__COM=username:password
|
362
374
|
|
363
|
-
This is especially useful for private repositories on hosts such as
|
375
|
+
This is especially useful for private repositories on hosts such as GitHub,
|
364
376
|
where you can use personal OAuth tokens:
|
365
377
|
|
366
378
|
export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x-oauth-basic
|
367
379
|
|
368
380
|
Note that any configured credentials will be redacted by informative commands
|
369
381
|
such as `bundle config list` or `bundle config get`, unless you use the
|
370
|
-
`--parseable` flag. This is to avoid
|
382
|
+
`--parseable` flag. This is to avoid unintentionally leaking credentials when
|
371
383
|
copy-pasting bundler output.
|
372
384
|
|
373
385
|
Also note that to guarantee a sane mapping between valid environment variable
|
374
386
|
names and valid host names, bundler makes the following transformations:
|
375
387
|
|
376
|
-
* Any `-` characters in a host name are mapped to a triple
|
377
|
-
corresponding
|
388
|
+
* Any `-` characters in a host name are mapped to a triple underscore (`___`) in the
|
389
|
+
corresponding environment variable.
|
378
390
|
|
379
|
-
* Any `.` characters in a host name are mapped to a double
|
391
|
+
* Any `.` characters in a host name are mapped to a double underscore (`__`) in the
|
380
392
|
corresponding environment variable.
|
381
393
|
|
382
394
|
This means that if you have a gem server named `my.gem-host.com`, you'll need to
|
@@ -385,7 +397,7 @@ through ENV.
|
|
385
397
|
|
386
398
|
## CONFIGURE BUNDLER DIRECTORIES
|
387
399
|
|
388
|
-
Bundler's home,
|
400
|
+
Bundler's home, cache and plugin directories and config file can be configured
|
389
401
|
through environment variables. The default location for Bundler's home directory is
|
390
402
|
`~/.bundle`, which all directories inherit from by default. The following
|
391
403
|
outlines the available environment variables and their default values
|
@@ -0,0 +1,35 @@
|
|
1
|
+
.\" generated with nRonn/v0.11.1
|
2
|
+
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
+
.TH "BUNDLE\-CONSOLE" "1" "June 2024" ""
|
4
|
+
.SH "NAME"
|
5
|
+
\fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
|
6
|
+
.SH "SYNOPSIS"
|
7
|
+
\fBbundle console\fR [GROUP]
|
8
|
+
.SH "DESCRIPTION"
|
9
|
+
Starts an interactive Ruby console session in the context of the current bundle\.
|
10
|
+
.P
|
11
|
+
If no \fBGROUP\fR is specified, all gems in the \fBdefault\fR group in the Gemfile(5) \fIhttps://bundler\.io/man/gemfile\.5\.html\fR are preliminarily loaded\.
|
12
|
+
.P
|
13
|
+
If \fBGROUP\fR is specified, all gems in the given group in the Gemfile in addition to the gems in \fBdefault\fR group are loaded\. Even if the given group does not exist in the Gemfile, IRB console starts without any warning or error\.
|
14
|
+
.P
|
15
|
+
The environment variable \fBBUNDLE_CONSOLE\fR or \fBbundle config set console\fR can be used to change the shell from the following:
|
16
|
+
.IP "\(bu" 4
|
17
|
+
\fBirb\fR (default)
|
18
|
+
.IP "\(bu" 4
|
19
|
+
\fBpry\fR (https://github\.com/pry/pry)
|
20
|
+
.IP "\(bu" 4
|
21
|
+
\fBripl\fR (https://github\.com/cldwalker/ripl)
|
22
|
+
.IP "" 0
|
23
|
+
.P
|
24
|
+
\fBbundle console\fR uses irb by default\. An alternative Pry or Ripl can be used with \fBbundle console\fR by adjusting the \fBconsole\fR Bundler setting\. Also make sure that \fBpry\fR or \fBripl\fR is in your Gemfile\.
|
25
|
+
.SH "EXAMPLE"
|
26
|
+
.nf
|
27
|
+
$ bundle config set console pry
|
28
|
+
$ bundle console
|
29
|
+
Resolving dependencies\|\.\|\.\|\.
|
30
|
+
[1] pry(main)>
|
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
|
+
.SH "SEE ALSO"
|
35
|
+
Gemfile(5) \fIhttps://bundler\.io/man/gemfile\.5\.html\fR
|
@@ -0,0 +1,44 @@
|
|
1
|
+
bundle-console(1) -- Deprecated way to open an IRB session with the bundle pre-loaded
|
2
|
+
=====================================================================================
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`bundle console` [GROUP]
|
7
|
+
|
8
|
+
## DESCRIPTION
|
9
|
+
|
10
|
+
Starts an interactive Ruby console session in the context of the current bundle.
|
11
|
+
|
12
|
+
If no `GROUP` is specified, all gems in the `default` group in the [Gemfile(5)](https://bundler.io/man/gemfile.5.html) are
|
13
|
+
preliminarily loaded.
|
14
|
+
|
15
|
+
If `GROUP` is specified, all gems in the given group in the Gemfile in addition
|
16
|
+
to the gems in `default` group are loaded. Even if the given group does not
|
17
|
+
exist in the Gemfile, IRB console starts without any warning or error.
|
18
|
+
|
19
|
+
The environment variable `BUNDLE_CONSOLE` or `bundle config set console` can be used to change
|
20
|
+
the shell from the following:
|
21
|
+
|
22
|
+
* `irb` (default)
|
23
|
+
* `pry` (https://github.com/pry/pry)
|
24
|
+
* `ripl` (https://github.com/cldwalker/ripl)
|
25
|
+
|
26
|
+
`bundle console` uses irb by default. An alternative Pry or Ripl can be used with
|
27
|
+
`bundle console` by adjusting the `console` Bundler setting. Also make sure that
|
28
|
+
`pry` or `ripl` is in your Gemfile.
|
29
|
+
|
30
|
+
## EXAMPLE
|
31
|
+
|
32
|
+
$ bundle config set console pry
|
33
|
+
$ bundle console
|
34
|
+
Resolving dependencies...
|
35
|
+
[1] pry(main)>
|
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
|
+
## SEE ALSO
|
43
|
+
|
44
|
+
[Gemfile(5)](https://bundler.io/man/gemfile.5.html)
|
@@ -1,44 +1,30 @@
|
|
1
|
-
.\" generated with
|
2
|
-
.\"
|
3
|
-
.
|
4
|
-
.TH "BUNDLE\-DOCTOR" "1" "June 2021" "" ""
|
5
|
-
.
|
1
|
+
.\" generated with nRonn/v0.11.1
|
2
|
+
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
+
.TH "BUNDLE\-DOCTOR" "1" "June 2024" ""
|
6
4
|
.SH "NAME"
|
7
5
|
\fBbundle\-doctor\fR \- Checks the bundle for common problems
|
8
|
-
.
|
9
6
|
.SH "SYNOPSIS"
|
10
7
|
\fBbundle doctor\fR [\-\-quiet] [\-\-gemfile=GEMFILE]
|
11
|
-
.
|
12
8
|
.SH "DESCRIPTION"
|
13
9
|
Checks your Gemfile and gem environment for common problems\. If issues are detected, Bundler prints them and exits status 1\. Otherwise, Bundler prints a success message and exits status 0\.
|
14
|
-
.
|
15
10
|
.P
|
16
11
|
Examples of common problems caught by bundle\-doctor include:
|
17
|
-
.
|
18
12
|
.IP "\(bu" 4
|
19
13
|
Invalid Bundler settings
|
20
|
-
.
|
21
14
|
.IP "\(bu" 4
|
22
15
|
Mismatched Ruby versions
|
23
|
-
.
|
24
16
|
.IP "\(bu" 4
|
25
17
|
Mismatched platforms
|
26
|
-
.
|
27
18
|
.IP "\(bu" 4
|
28
19
|
Uninstalled gems
|
29
|
-
.
|
30
20
|
.IP "\(bu" 4
|
31
21
|
Missing dependencies
|
32
|
-
.
|
33
22
|
.IP "" 0
|
34
|
-
.
|
35
23
|
.SH "OPTIONS"
|
36
|
-
.
|
37
24
|
.TP
|
38
25
|
\fB\-\-quiet\fR
|
39
26
|
Only output warnings and errors\.
|
40
|
-
.
|
41
27
|
.TP
|
42
28
|
\fB\-\-gemfile=<gemfile>\fR
|
43
|
-
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
|
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\.
|
44
30
|
|
@@ -1,165 +1,104 @@
|
|
1
|
-
.\" generated with
|
2
|
-
.\"
|
3
|
-
.
|
4
|
-
.TH "BUNDLE\-EXEC" "1" "June 2021" "" ""
|
5
|
-
.
|
1
|
+
.\" generated with nRonn/v0.11.1
|
2
|
+
.\" https://github.com/n-ronn/nronn/tree/0.11.1
|
3
|
+
.TH "BUNDLE\-EXEC" "1" "June 2024" ""
|
6
4
|
.SH "NAME"
|
7
5
|
\fBbundle\-exec\fR \- Execute a command in the context of the bundle
|
8
|
-
.
|
9
6
|
.SH "SYNOPSIS"
|
10
7
|
\fBbundle exec\fR [\-\-keep\-file\-descriptors] \fIcommand\fR
|
11
|
-
.
|
12
8
|
.SH "DESCRIPTION"
|
13
9
|
This command executes the command, making all gems specified in the [\fBGemfile(5)\fR][Gemfile(5)] available to \fBrequire\fR in Ruby programs\.
|
14
|
-
.
|
15
10
|
.P
|
16
11
|
Essentially, if you would normally have run something like \fBrspec spec/my_spec\.rb\fR, and you want to use the gems specified in the [\fBGemfile(5)\fR][Gemfile(5)] and installed via bundle install(1) \fIbundle\-install\.1\.html\fR, you should run \fBbundle exec rspec spec/my_spec\.rb\fR\.
|
17
|
-
.
|
18
12
|
.P
|
19
|
-
Note that \fBbundle exec\fR does not require that an executable is available on your shell
|
20
|
-
.
|
13
|
+
Note that \fBbundle exec\fR does not require that an executable is available on your shell's \fB$PATH\fR\.
|
21
14
|
.SH "OPTIONS"
|
22
|
-
.
|
23
15
|
.TP
|
24
16
|
\fB\-\-keep\-file\-descriptors\fR
|
25
|
-
|
26
|
-
.
|
17
|
+
Passes all file descriptors to the new processes\. Default is true from bundler version 2\.2\.26\. Setting it to false is now deprecated\.
|
27
18
|
.SH "BUNDLE INSTALL \-\-BINSTUBS"
|
28
19
|
If you use the \fB\-\-binstubs\fR flag in bundle install(1) \fIbundle\-install\.1\.html\fR, Bundler will automatically create a directory (which defaults to \fBapp_root/bin\fR) containing all of the executables available from gems in the bundle\.
|
29
|
-
.
|
30
20
|
.P
|
31
21
|
After using \fB\-\-binstubs\fR, \fBbin/rspec spec/my_spec\.rb\fR is identical to \fBbundle exec rspec spec/my_spec\.rb\fR\.
|
32
|
-
.
|
33
22
|
.SH "ENVIRONMENT MODIFICATIONS"
|
34
23
|
\fBbundle exec\fR makes a number of changes to the shell environment, then executes the command you specify in full\.
|
35
|
-
.
|
36
24
|
.IP "\(bu" 4
|
37
|
-
make sure that it
|
38
|
-
.
|
25
|
+
make sure that it's still possible to shell out to \fBbundle\fR from inside a command invoked by \fBbundle exec\fR (using \fB$BUNDLE_BIN_PATH\fR)
|
39
26
|
.IP "\(bu" 4
|
40
27
|
put the directory containing executables (like \fBrails\fR, \fBrspec\fR, \fBrackup\fR) for your bundle on \fB$PATH\fR
|
41
|
-
.
|
42
28
|
.IP "\(bu" 4
|
43
29
|
make sure that if bundler is invoked in the subshell, it uses the same \fBGemfile\fR (by setting \fBBUNDLE_GEMFILE\fR)
|
44
|
-
.
|
45
30
|
.IP "\(bu" 4
|
46
31
|
add \fB\-rbundler/setup\fR to \fB$RUBYOPT\fR, which makes sure that Ruby programs invoked in the subshell can see the gems in the bundle
|
47
|
-
.
|
48
32
|
.IP "" 0
|
49
|
-
.
|
50
33
|
.P
|
51
34
|
It also modifies Rubygems:
|
52
|
-
.
|
53
35
|
.IP "\(bu" 4
|
54
36
|
disallow loading additional gems not in the bundle
|
55
|
-
.
|
56
37
|
.IP "\(bu" 4
|
57
|
-
modify the \fBgem\fR method to be a no\-op if a gem matching the requirements is in the bundle, and to raise a \fBGem::LoadError\fR if it
|
58
|
-
.
|
38
|
+
modify the \fBgem\fR method to be a no\-op if a gem matching the requirements is in the bundle, and to raise a \fBGem::LoadError\fR if it's not
|
59
39
|
.IP "\(bu" 4
|
60
40
|
Define \fBGem\.refresh\fR to be a no\-op, since the source index is always frozen when using bundler, and to prevent gems from the system leaking into the environment
|
61
|
-
.
|
62
41
|
.IP "\(bu" 4
|
63
42
|
Override \fBGem\.bin_path\fR to use the gems in the bundle, making system executables work
|
64
|
-
.
|
65
43
|
.IP "\(bu" 4
|
66
44
|
Add all gems in the bundle into Gem\.loaded_specs
|
67
|
-
.
|
68
45
|
.IP "" 0
|
69
|
-
.
|
70
46
|
.P
|
71
|
-
Finally, \fBbundle exec\fR also implicitly modifies \fBGemfile\.lock\fR if the lockfile and the Gemfile do not match\. Bundler needs the Gemfile to determine things such as a gem
|
72
|
-
.
|
47
|
+
Finally, \fBbundle exec\fR also implicitly modifies \fBGemfile\.lock\fR if the lockfile and the Gemfile do not match\. Bundler needs the Gemfile to determine things such as a gem's groups, \fBautorequire\fR, and platforms, etc\., and that information isn't stored in the lockfile\. The Gemfile and lockfile must be synced in order to \fBbundle exec\fR successfully, so \fBbundle exec\fR updates the lockfile beforehand\.
|
73
48
|
.SS "Loading"
|
74
49
|
By default, when attempting to \fBbundle exec\fR to a file with a ruby shebang, Bundler will \fBKernel\.load\fR that file instead of using \fBKernel\.exec\fR\. For the vast majority of cases, this is a performance improvement\. In a rare few cases, this could cause some subtle side\-effects (such as dependence on the exact contents of \fB$0\fR or \fB__FILE__\fR) and the optimization can be disabled by enabling the \fBdisable_exec_load\fR setting\.
|
75
|
-
.
|
76
50
|
.SS "Shelling out"
|
77
|
-
Any Ruby code that opens a subshell (like \fBsystem\fR, backticks, or \fB%x{}\fR) will automatically use the current Bundler environment\. If you need to shell out to a Ruby command that is not part of your current bundle, use the \
|
78
|
-
.
|
51
|
+
Any Ruby code that opens a subshell (like \fBsystem\fR, backticks, or \fB%x{}\fR) will automatically use the current Bundler environment\. If you need to shell out to a Ruby command that is not part of your current bundle, use the \fBwith_unbundled_env\fR method with a block\. Any subshells created inside the block will be given the environment present before Bundler was activated\. For example, Homebrew commands run Ruby, but don't work inside a bundle:
|
79
52
|
.IP "" 4
|
80
|
-
.
|
81
53
|
.nf
|
82
|
-
|
83
|
-
Bundler\.with_clean_env do
|
54
|
+
Bundler\.with_unbundled_env do
|
84
55
|
`brew install wget`
|
85
56
|
end
|
86
|
-
.
|
87
57
|
.fi
|
88
|
-
.
|
89
58
|
.IP "" 0
|
90
|
-
.
|
91
59
|
.P
|
92
|
-
Using \
|
93
|
-
.
|
60
|
+
Using \fBwith_unbundled_env\fR is also necessary if you are shelling out to a different bundle\. Any Bundler commands run in a subshell will inherit the current Gemfile, so commands that need to run in the context of a different bundle also need to use \fBwith_unbundled_env\fR\.
|
94
61
|
.IP "" 4
|
95
|
-
.
|
96
62
|
.nf
|
97
|
-
|
98
|
-
Bundler\.with_clean_env do
|
63
|
+
Bundler\.with_unbundled_env do
|
99
64
|
Dir\.chdir "/other/bundler/project" do
|
100
65
|
`bundle exec \./script`
|
101
66
|
end
|
102
67
|
end
|
103
|
-
.
|
104
68
|
.fi
|
105
|
-
.
|
106
69
|
.IP "" 0
|
107
|
-
.
|
108
70
|
.P
|
109
71
|
Bundler provides convenience helpers that wrap \fBsystem\fR and \fBexec\fR, and they can be used like this:
|
110
|
-
.
|
111
72
|
.IP "" 4
|
112
|
-
.
|
113
73
|
.nf
|
114
|
-
|
115
|
-
Bundler\.
|
116
|
-
Bundler\.clean_exec(\'brew install wget\')
|
117
|
-
.
|
74
|
+
Bundler\.clean_system('brew install wget')
|
75
|
+
Bundler\.clean_exec('brew install wget')
|
118
76
|
.fi
|
119
|
-
.
|
120
77
|
.IP "" 0
|
121
|
-
.
|
122
78
|
.SH "RUBYGEMS PLUGINS"
|
123
79
|
At present, the Rubygems plugin system requires all files named \fBrubygems_plugin\.rb\fR on the load path of \fIany\fR installed gem when any Ruby code requires \fBrubygems\.rb\fR\. This includes executables installed into the system, like \fBrails\fR, \fBrackup\fR, and \fBrspec\fR\.
|
124
|
-
.
|
125
80
|
.P
|
126
81
|
Since Rubygems plugins can contain arbitrary Ruby code, they commonly end up activating themselves or their dependencies\.
|
127
|
-
.
|
128
82
|
.P
|
129
83
|
For instance, the \fBgemcutter 0\.5\fR gem depended on \fBjson_pure\fR\. If you had that version of gemcutter installed (even if you \fIalso\fR had a newer version without this problem), Rubygems would activate \fBgemcutter 0\.5\fR and \fBjson_pure <latest>\fR\.
|
130
|
-
.
|
131
84
|
.P
|
132
85
|
If your Gemfile(5) also contained \fBjson_pure\fR (or a gem with a dependency on \fBjson_pure\fR), the latest version on your system might conflict with the version in your Gemfile(5), or the snapshot version in your \fBGemfile\.lock\fR\.
|
133
|
-
.
|
134
86
|
.P
|
135
87
|
If this happens, bundler will say:
|
136
|
-
.
|
137
88
|
.IP "" 4
|
138
|
-
.
|
139
89
|
.nf
|
140
|
-
|
141
90
|
You have already activated json_pure 1\.4\.6 but your Gemfile
|
142
91
|
requires json_pure 1\.4\.3\. Consider using bundle exec\.
|
143
|
-
.
|
144
92
|
.fi
|
145
|
-
.
|
146
93
|
.IP "" 0
|
147
|
-
.
|
148
94
|
.P
|
149
95
|
In this situation, you almost certainly want to remove the underlying gem with the problematic gem plugin\. In general, the authors of these plugins (in this case, the \fBgemcutter\fR gem) have released newer versions that are more careful in their plugins\.
|
150
|
-
.
|
151
96
|
.P
|
152
97
|
You can find a list of all the gems containing gem plugins by running
|
153
|
-
.
|
154
98
|
.IP "" 4
|
155
|
-
.
|
156
99
|
.nf
|
157
|
-
|
158
|
-
ruby \-rrubygems \-e "puts Gem\.find_files(\'rubygems_plugin\.rb\')"
|
159
|
-
.
|
100
|
+
ruby \-e "puts Gem\.find_files('rubygems_plugin\.rb')"
|
160
101
|
.fi
|
161
|
-
.
|
162
102
|
.IP "" 0
|
163
|
-
.
|
164
103
|
.P
|
165
|
-
At the very least, you should remove all but the newest version of each gem plugin, and also remove all gem plugins that you aren
|
104
|
+
At the very least, you should remove all but the newest version of each gem plugin, and also remove all gem plugins that you aren't using (\fBgem uninstall gem_name\fR)\.
|
@@ -21,9 +21,8 @@ available on your shell's `$PATH`.
|
|
21
21
|
## OPTIONS
|
22
22
|
|
23
23
|
* `--keep-file-descriptors`:
|
24
|
-
|
25
|
-
|
26
|
-
descriptors to the new process.
|
24
|
+
Passes all file descriptors to the new processes. Default is true from
|
25
|
+
bundler version 2.2.26. Setting it to false is now deprecated.
|
27
26
|
|
28
27
|
## BUNDLE INSTALL --BINSTUBS
|
29
28
|
|
@@ -84,20 +83,20 @@ the `disable_exec_load` setting.
|
|
84
83
|
Any Ruby code that opens a subshell (like `system`, backticks, or `%x{}`) will
|
85
84
|
automatically use the current Bundler environment. If you need to shell out to
|
86
85
|
a Ruby command that is not part of your current bundle, use the
|
87
|
-
`
|
86
|
+
`with_unbundled_env` method with a block. Any subshells created inside the block
|
88
87
|
will be given the environment present before Bundler was activated. For
|
89
88
|
example, Homebrew commands run Ruby, but don't work inside a bundle:
|
90
89
|
|
91
|
-
Bundler.
|
90
|
+
Bundler.with_unbundled_env do
|
92
91
|
`brew install wget`
|
93
92
|
end
|
94
93
|
|
95
|
-
Using `
|
94
|
+
Using `with_unbundled_env` is also necessary if you are shelling out to a different
|
96
95
|
bundle. Any Bundler commands run in a subshell will inherit the current
|
97
96
|
Gemfile, so commands that need to run in the context of a different bundle also
|
98
|
-
need to use `
|
97
|
+
need to use `with_unbundled_env`.
|
99
98
|
|
100
|
-
Bundler.
|
99
|
+
Bundler.with_unbundled_env do
|
101
100
|
Dir.chdir "/other/bundler/project" do
|
102
101
|
`bundle exec ./script`
|
103
102
|
end
|
@@ -145,7 +144,7 @@ their plugins.
|
|
145
144
|
You can find a list of all the gems containing gem plugins
|
146
145
|
by running
|
147
146
|
|
148
|
-
ruby -
|
147
|
+
ruby -e "puts Gem.find_files('rubygems_plugin.rb')"
|
149
148
|
|
150
149
|
At the very least, you should remove all but the newest
|
151
150
|
version of each gem plugin, and also remove all gem plugins
|