bundler 1.13.6 → 1.17.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bundler might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CHANGELOG.md +554 -9
- data/README.md +28 -5
- data/bundler.gemspec +40 -11
- data/exe/bundle +4 -8
- data/exe/bundle_ruby +4 -3
- data/lib/bundler.rb +162 -68
- data/lib/bundler/build_metadata.rb +53 -0
- data/lib/bundler/capistrano.rb +5 -0
- data/lib/bundler/cli.rb +360 -118
- data/lib/bundler/cli/add.rb +35 -0
- data/lib/bundler/cli/binstubs.rb +18 -10
- data/lib/bundler/cli/cache.rb +6 -5
- data/lib/bundler/cli/check.rb +4 -6
- data/lib/bundler/cli/clean.rb +6 -7
- data/lib/bundler/cli/common.rb +47 -1
- data/lib/bundler/cli/config.rb +26 -7
- data/lib/bundler/cli/console.rb +2 -1
- data/lib/bundler/cli/doctor.rb +63 -18
- data/lib/bundler/cli/exec.rb +12 -5
- data/lib/bundler/cli/gem.rb +59 -21
- data/lib/bundler/cli/info.rb +50 -0
- data/lib/bundler/cli/init.rb +21 -7
- data/lib/bundler/cli/inject.rb +13 -4
- data/lib/bundler/cli/install.rb +72 -101
- data/lib/bundler/cli/issue.rb +40 -0
- data/lib/bundler/cli/list.rb +58 -0
- data/lib/bundler/cli/lock.rb +9 -6
- data/lib/bundler/cli/open.rb +4 -3
- data/lib/bundler/cli/outdated.rb +175 -60
- data/lib/bundler/cli/package.rb +9 -6
- data/lib/bundler/cli/platform.rb +2 -1
- data/lib/bundler/cli/plugin.rb +1 -0
- data/lib/bundler/cli/pristine.rb +47 -0
- data/lib/bundler/cli/remove.rb +18 -0
- data/lib/bundler/cli/show.rb +2 -2
- data/lib/bundler/cli/update.rb +44 -34
- data/lib/bundler/cli/viz.rb +5 -1
- data/lib/bundler/compact_index_client.rb +109 -0
- data/lib/bundler/compact_index_client/cache.rb +118 -0
- data/lib/bundler/compact_index_client/updater.rb +116 -0
- data/lib/bundler/compatibility_guard.rb +14 -0
- data/lib/bundler/constants.rb +1 -0
- data/lib/bundler/current_ruby.rb +17 -8
- data/lib/bundler/definition.rb +353 -182
- data/lib/bundler/dep_proxy.rb +3 -1
- data/lib/bundler/dependency.rb +22 -10
- data/lib/bundler/deployment.rb +1 -1
- data/lib/bundler/deprecate.rb +15 -3
- data/lib/bundler/dsl.rb +122 -64
- data/lib/bundler/endpoint_specification.rb +13 -3
- data/lib/bundler/env.rb +110 -38
- data/lib/bundler/environment_preserver.rb +27 -6
- data/lib/bundler/errors.rb +24 -0
- data/lib/bundler/feature_flag.rb +74 -0
- data/lib/bundler/fetcher.rb +18 -11
- data/lib/bundler/fetcher/base.rb +1 -0
- data/lib/bundler/fetcher/compact_index.rb +7 -5
- data/lib/bundler/fetcher/dependency.rb +3 -2
- data/lib/bundler/fetcher/downloader.rb +25 -7
- data/lib/bundler/fetcher/index.rb +3 -2
- data/lib/bundler/friendly_errors.rb +33 -7
- data/lib/bundler/gem_helper.rb +25 -11
- data/lib/bundler/gem_helpers.rb +70 -1
- data/lib/bundler/gem_remote_fetcher.rb +1 -0
- data/lib/bundler/gem_tasks.rb +1 -0
- data/lib/bundler/gem_version_promoter.rb +17 -2
- data/lib/bundler/gemdeps.rb +29 -0
- data/lib/bundler/graph.rb +1 -0
- data/lib/bundler/index.rb +28 -15
- data/lib/bundler/injector.rb +216 -33
- data/lib/bundler/inline.rb +12 -12
- data/lib/bundler/installer.rb +139 -53
- data/lib/bundler/installer/gem_installer.rb +15 -5
- data/lib/bundler/installer/parallel_installer.rb +113 -28
- data/lib/bundler/installer/standalone.rb +1 -0
- data/lib/bundler/lazy_specification.rb +31 -3
- data/lib/bundler/lockfile_generator.rb +95 -0
- data/lib/bundler/lockfile_parser.rb +50 -37
- data/lib/bundler/match_platform.rb +13 -3
- data/lib/bundler/mirror.rb +10 -5
- data/lib/bundler/plugin.rb +22 -8
- data/lib/bundler/plugin/api.rb +2 -1
- data/lib/bundler/plugin/api/source.rb +17 -4
- data/lib/bundler/plugin/events.rb +61 -0
- data/lib/bundler/plugin/index.rb +9 -2
- data/lib/bundler/plugin/installer.rb +7 -6
- data/lib/bundler/plugin/source_list.rb +7 -8
- data/lib/bundler/process_lock.rb +24 -0
- data/lib/bundler/psyched_yaml.rb +10 -0
- data/lib/bundler/remote_specification.rb +30 -1
- data/lib/bundler/resolver.rb +187 -194
- data/lib/bundler/resolver/spec_group.rb +106 -0
- data/lib/bundler/retry.rb +5 -1
- data/lib/bundler/ruby_dsl.rb +1 -0
- data/lib/bundler/ruby_version.rb +12 -2
- data/lib/bundler/rubygems_ext.rb +23 -8
- data/lib/bundler/rubygems_gem_installer.rb +90 -0
- data/lib/bundler/rubygems_integration.rb +193 -70
- data/lib/bundler/runtime.rb +39 -22
- data/lib/bundler/settings.rb +245 -85
- data/lib/bundler/settings/validator.rb +102 -0
- data/lib/bundler/setup.rb +4 -7
- data/lib/bundler/shared_helpers.rb +183 -40
- data/lib/bundler/similarity_detector.rb +1 -0
- data/lib/bundler/source.rb +58 -1
- data/lib/bundler/source/gemspec.rb +1 -0
- data/lib/bundler/source/git.rb +52 -23
- data/lib/bundler/source/git/git_proxy.rb +30 -14
- data/lib/bundler/source/metadata.rb +62 -0
- data/lib/bundler/source/path.rb +42 -16
- data/lib/bundler/source/path/installer.rb +4 -2
- data/lib/bundler/source/rubygems.rb +171 -82
- data/lib/bundler/source/rubygems/remote.rb +12 -2
- data/lib/bundler/source_list.rb +75 -15
- data/lib/bundler/spec_set.rb +67 -32
- data/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
- data/lib/bundler/stub_specification.rb +86 -2
- data/lib/bundler/templates/.document +1 -0
- data/lib/bundler/templates/Executable +13 -1
- data/lib/bundler/templates/Executable.bundler +105 -0
- data/lib/bundler/templates/Executable.standalone +5 -5
- data/lib/bundler/templates/Gemfile +3 -0
- data/lib/bundler/templates/gems.rb +8 -0
- data/lib/bundler/templates/newgem/Gemfile.tt +4 -2
- data/lib/bundler/templates/newgem/LICENSE.txt.tt +1 -1
- data/lib/bundler/templates/newgem/README.md.tt +14 -8
- data/lib/bundler/templates/newgem/Rakefile.tt +5 -5
- data/lib/bundler/templates/newgem/bin/console.tt +1 -1
- data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +4 -4
- data/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +3 -3
- data/lib/bundler/templates/newgem/gitignore.tt +5 -1
- data/lib/bundler/templates/newgem/lib/newgem.rb.tt +7 -6
- data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +4 -4
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +21 -12
- data/lib/bundler/templates/newgem/rspec.tt +1 -0
- data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +1 -3
- data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +13 -1
- data/lib/bundler/templates/newgem/test/newgem_test.rb.tt +1 -1
- data/lib/bundler/templates/newgem/test/test_helper.rb.tt +3 -3
- data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +2 -0
- data/lib/bundler/ui.rb +1 -0
- data/lib/bundler/ui/rg_proxy.rb +1 -0
- data/lib/bundler/ui/shell.rb +30 -10
- data/lib/bundler/ui/silent.rb +21 -1
- data/lib/bundler/uri_credentials_filter.rb +1 -0
- data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1638 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo.rb +2 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +26 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +26 -6
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +2 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +12 -4
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +3 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +11 -3
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +13 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +3 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +3 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +18 -5
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +75 -7
- data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +499 -128
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -4
- data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/faster.rb +1 -0
- data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent.rb +27 -24
- data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent/ssl_reuse.rb +2 -1
- data/lib/bundler/vendor/thor/lib/thor.rb +46 -21
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +24 -22
- data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +2 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +16 -8
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +66 -18
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +17 -15
- data/lib/bundler/vendor/thor/lib/thor/base.rb +55 -32
- data/lib/bundler/vendor/thor/lib/thor/command.rb +13 -11
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +21 -1
- data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +7 -5
- data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +94 -63
- data/lib/bundler/vendor/thor/lib/thor/error.rb +3 -3
- data/lib/bundler/vendor/thor/lib/thor/group.rb +13 -13
- data/lib/bundler/vendor/thor/lib/thor/invocation.rb +4 -5
- data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
- data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +4 -7
- data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +16 -16
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +42 -21
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +13 -10
- data/lib/bundler/vendor/thor/lib/thor/runner.rb +31 -29
- data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +49 -33
- data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +4 -4
- data/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/vendored_fileutils.rb +9 -0
- data/lib/bundler/vendored_molinillo.rb +1 -0
- data/lib/bundler/vendored_persistent.rb +43 -3
- data/lib/bundler/vendored_thor.rb +6 -2
- data/lib/bundler/version.rb +19 -2
- data/lib/bundler/version_ranges.rb +76 -0
- data/lib/bundler/vlad.rb +5 -0
- data/lib/bundler/worker.rb +30 -6
- data/lib/bundler/yaml_serializer.rb +4 -4
- data/man/bundle-add.1 +58 -0
- data/man/bundle-add.1.txt +52 -0
- data/man/bundle-add.ronn +40 -0
- data/{lib/bundler/man/bundle-binstubs → man/bundle-binstubs.1} +11 -1
- data/man/bundle-binstubs.1.txt +48 -0
- data/man/bundle-binstubs.ronn +15 -1
- data/man/bundle-check.1 +31 -0
- data/man/bundle-check.1.txt +33 -0
- data/man/bundle-check.ronn +26 -0
- data/man/bundle-clean.1 +24 -0
- data/man/bundle-clean.1.txt +26 -0
- data/man/bundle-clean.ronn +18 -0
- data/man/bundle-config.1 +497 -0
- data/man/bundle-config.1.txt +529 -0
- data/man/bundle-config.ronn +233 -61
- data/man/bundle-doctor.1 +44 -0
- data/man/bundle-doctor.1.txt +44 -0
- data/man/bundle-doctor.ronn +33 -0
- data/{lib/bundler/man/bundle-exec → man/bundle-exec.1} +6 -3
- data/man/bundle-exec.1.txt +178 -0
- data/man/bundle-exec.ronn +10 -3
- data/{lib/bundler/man/bundle-gem → man/bundle-gem.1} +4 -4
- data/man/bundle-gem.1.txt +91 -0
- data/man/bundle-gem.ronn +3 -2
- data/man/bundle-info.1 +20 -0
- data/man/bundle-info.1.txt +21 -0
- data/man/bundle-info.ronn +17 -0
- data/man/bundle-init.1 +25 -0
- data/man/bundle-init.1.txt +34 -0
- data/man/bundle-init.ronn +29 -0
- data/man/bundle-inject.1 +33 -0
- data/man/bundle-inject.1.txt +32 -0
- data/man/bundle-inject.ronn +22 -0
- data/{lib/bundler/man/bundle-install → man/bundle-install.1} +32 -29
- data/man/bundle-install.1.txt +396 -0
- data/man/bundle-install.ronn +45 -36
- data/man/bundle-list.1 +50 -0
- data/man/bundle-list.1.txt +43 -0
- data/man/bundle-list.ronn +33 -0
- data/{lib/bundler/man/bundle-lock → man/bundle-lock.1} +43 -2
- data/man/bundle-lock.1.txt +93 -0
- data/man/bundle-lock.ronn +47 -0
- data/man/bundle-open.1 +32 -0
- data/man/bundle-open.1.txt +29 -0
- data/man/bundle-open.ronn +19 -0
- data/man/bundle-outdated.1 +155 -0
- data/man/bundle-outdated.1.txt +131 -0
- data/man/bundle-outdated.ronn +111 -0
- data/{lib/bundler/man/bundle-package → man/bundle-package.1} +6 -3
- data/man/bundle-package.1.txt +79 -0
- data/man/bundle-package.ronn +7 -2
- data/{lib/bundler/man/bundle-platform → man/bundle-platform.1} +1 -1
- data/man/bundle-platform.1.txt +57 -0
- data/man/bundle-pristine.1 +34 -0
- data/man/bundle-pristine.1.txt +44 -0
- data/man/bundle-pristine.ronn +34 -0
- data/man/bundle-remove.1 +31 -0
- data/man/bundle-remove.1.txt +34 -0
- data/man/bundle-remove.ronn +23 -0
- data/man/bundle-show.1 +23 -0
- data/man/bundle-show.1.txt +27 -0
- data/man/bundle-show.ronn +21 -0
- data/man/bundle-update.1 +394 -0
- data/man/bundle-update.1.txt +391 -0
- data/man/bundle-update.ronn +172 -16
- data/man/bundle-viz.1 +39 -0
- data/man/bundle-viz.1.txt +39 -0
- data/man/bundle-viz.ronn +30 -0
- data/{lib/bundler/man/bundle → man/bundle.1} +44 -28
- data/man/bundle.1.txt +116 -0
- data/man/bundle.ronn +39 -27
- data/{lib/bundler/man → man}/gemfile.5 +67 -84
- data/man/gemfile.5.ronn +77 -55
- data/man/gemfile.5.txt +653 -0
- data/man/index.txt +25 -8
- metadata +118 -58
- data/.codeclimate.yml +0 -25
- data/.gitignore +0 -16
- data/.rspec +0 -3
- data/.rubocop.yml +0 -128
- data/.rubocop_todo.yml +0 -248
- data/.travis.yml +0 -108
- data/CODE_OF_CONDUCT.md +0 -42
- data/CONTRIBUTING.md +0 -36
- data/DEVELOPMENT.md +0 -148
- data/ISSUES.md +0 -100
- data/Rakefile +0 -333
- data/bin/rake +0 -19
- data/bin/rspec +0 -15
- data/bin/rubocop +0 -17
- data/bin/with_rubygems +0 -39
- data/lib/bundler/man/bundle-binstubs.txt +0 -33
- data/lib/bundler/man/bundle-config +0 -254
- data/lib/bundler/man/bundle-config.txt +0 -282
- data/lib/bundler/man/bundle-exec.txt +0 -171
- data/lib/bundler/man/bundle-gem.txt +0 -90
- data/lib/bundler/man/bundle-install.txt +0 -385
- data/lib/bundler/man/bundle-lock.txt +0 -52
- data/lib/bundler/man/bundle-package.txt +0 -74
- data/lib/bundler/man/bundle-platform.txt +0 -57
- data/lib/bundler/man/bundle-update +0 -221
- data/lib/bundler/man/bundle-update.txt +0 -227
- data/lib/bundler/man/bundle.txt +0 -104
- data/lib/bundler/man/gemfile.5.txt +0 -636
- data/lib/bundler/postit_trampoline.rb +0 -68
- data/lib/bundler/vendor/compact_index_client/lib/compact_index_client.rb +0 -79
- data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/cache.rb +0 -112
- data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/updater.rb +0 -80
- data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/version.rb +0 -4
- data/lib/bundler/vendor/postit/lib/postit.rb +0 -15
- data/lib/bundler/vendor/postit/lib/postit/environment.rb +0 -44
- data/lib/bundler/vendor/postit/lib/postit/installer.rb +0 -28
- data/lib/bundler/vendor/postit/lib/postit/parser.rb +0 -21
- data/lib/bundler/vendor/postit/lib/postit/setup.rb +0 -12
- data/lib/bundler/vendor/postit/lib/postit/version.rb +0 -3
@@ -1,52 +0,0 @@
|
|
1
|
-
BUNDLE-LOCK(1) BUNDLE-LOCK(1)
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
1mNAME0m
|
6
|
-
1mbundle-lock 22m- Creates / Updates a lockfile without installing
|
7
|
-
|
8
|
-
1mSYNOPSIS0m
|
9
|
-
1mbundle lock 22m[--update] [--local] [--print] [--lockfile=PATH]
|
10
|
-
|
11
|
-
1mDESCRIPTION0m
|
12
|
-
Lock the gems specified in Gemfile.
|
13
|
-
|
14
|
-
1mOPTIONS0m
|
15
|
-
1m--update=<*gems>0m
|
16
|
-
Ignores the existing lockfile. Resolve then updates lockfile.
|
17
|
-
Taking a list of gems or updating all gems if no list is given.
|
18
|
-
|
19
|
-
1m--local0m
|
20
|
-
Do not attempt to connect to 1mrubygems.org22m. Instead, Bundler will
|
21
|
-
use the gems already present in Rubygems' cache or in 1mven-0m
|
22
|
-
1mdor/cache22m. Note that if a appropriate platform-specific gem
|
23
|
-
exists on 1mrubygems.org 22mit will not be found.
|
24
|
-
|
25
|
-
1m--print0m
|
26
|
-
Prints the lockfile to STDOUT instead of writing to the file
|
27
|
-
system.
|
28
|
-
|
29
|
-
1m--lockfile=<path>0m
|
30
|
-
The path where the lockfile should be written to.
|
31
|
-
|
32
|
-
1mUPDATING ALL GEMS0m
|
33
|
-
If you run 1mbundle lock 22mwith 1m--update 22moption without list of gems,
|
34
|
-
bundler will ignore any previously installed gems and resolve all
|
35
|
-
dependencies again based on the latest versions of all gems available
|
36
|
-
in the sources.
|
37
|
-
|
38
|
-
1mUPDATING A LIST OF GEMS0m
|
39
|
-
Sometimes, you want to update a single gem in the Gemfile(5), and leave
|
40
|
-
the rest of the gems that you specified locked to the versions in the
|
41
|
-
1mGemfile.lock22m.
|
42
|
-
|
43
|
-
For instance, you only want to update 1mnokogiri22m, run 1mbundle lock0m
|
44
|
-
1m--update nokogiri22m.
|
45
|
-
|
46
|
-
Bundler will update 1mnokogiri 22mand any of its dependencies, but leave the
|
47
|
-
rest of the gems that you specified locked to the versions in the 1mGem-0m
|
48
|
-
1mfile.lock22m.
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
June 2016 BUNDLE-LOCK(1)
|
@@ -1,74 +0,0 @@
|
|
1
|
-
BUNDLE-PACKAGE(1) BUNDLE-PACKAGE(1)
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
1mNAME0m
|
6
|
-
1mbundle-package 22m- Package your needed 1m.gem 22mfiles into your application
|
7
|
-
|
8
|
-
1mSYNOPSIS0m
|
9
|
-
1mbundle package0m
|
10
|
-
|
11
|
-
1mDESCRIPTION0m
|
12
|
-
Copy all of the 1m.gem 22mfiles needed to run the application into the 1mven-0m
|
13
|
-
1mdor/cache 22mdirectory. In the future, when running bundle install(1) 4mbun-0m
|
14
|
-
4mdle-install.1.html24m, use the gems in the cache in preference to the ones
|
15
|
-
on 1mrubygems.org22m.
|
16
|
-
|
17
|
-
1mGIT AND PATH GEMS0m
|
18
|
-
Since Bundler 1.2, the 1mbundle package 22mcommand can also package 1m:git 22mand
|
19
|
-
1m:path 22mdependencies besides .gem files. This needs to be explicitly
|
20
|
-
enabled via the 1m--all 22moption. Once used, the 1m--all 22moption will be
|
21
|
-
remembered.
|
22
|
-
|
23
|
-
1mSUPPORT FOR MULTIPLE PLATFORMS0m
|
24
|
-
When using gems that have different packages for different platforms,
|
25
|
-
Bundler 1.8 and newer support caching of gems for other platforms where
|
26
|
-
the Gemfile has been resolved (i.e. present in the lockfile) in 1mven-0m
|
27
|
-
1mdor/cache22m. This needs to be enabled via the 1m--all-platforms 22moption.
|
28
|
-
This setting will be remembered in your local bundler configuration.
|
29
|
-
|
30
|
-
1mREMOTE FETCHING0m
|
31
|
-
By default, if you run bundle install(1) 4mbundle-install.1.html24m after
|
32
|
-
running bundle package(1) 4mbundle-package.1.html24m, bundler will still
|
33
|
-
connect to 1mrubygems.org 22mto check whether a platform-specific gem exists
|
34
|
-
for any of the gems in 1mvendor/cache22m.
|
35
|
-
|
36
|
-
For instance, consider this Gemfile(5):
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
source "https://rubygems.org"
|
41
|
-
|
42
|
-
gem "nokogiri"
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
If you run 1mbundle package 22munder C Ruby, bundler will retrieve the ver-
|
47
|
-
sion of 1mnokogiri 22mfor the 1m"ruby" 22mplatform. If you deploy to JRuby and
|
48
|
-
run 1mbundle install22m, bundler is forced to check to see whether a 1m"java"0m
|
49
|
-
platformed 1mnokogiri 22mexists.
|
50
|
-
|
51
|
-
Even though the 1mnokogiri 22mgem for the Ruby platform is 4mtechnically0m
|
52
|
-
acceptable on JRuby, it has a C extension that does not run on JRuby.
|
53
|
-
As a result, bundler will, by default, still connect to 1mrubygems.org 22mto
|
54
|
-
check whether it has a version of one of your gems more specific to
|
55
|
-
your platform.
|
56
|
-
|
57
|
-
This problem is also not limited to the 1m"java" 22mplatform. A similar
|
58
|
-
(common) problem can happen when developing on Windows and deploying to
|
59
|
-
Linux, or even when developing on OSX and deploying to Linux.
|
60
|
-
|
61
|
-
If you know for sure that the gems packaged in 1mvendor/cache 22mare appro-
|
62
|
-
priate for the platform you are on, you can run 1mbundle install --local0m
|
63
|
-
to skip checking for more appropriate gems, and use the ones in 1mven-0m
|
64
|
-
1mdor/cache22m.
|
65
|
-
|
66
|
-
One way to be sure that you have the right platformed versions of all
|
67
|
-
your gems is to run 1mbundle package 22mon an identical machine and check in
|
68
|
-
the gems. For instance, you can run 1mbundle package 22mon an identical
|
69
|
-
staging box during your staging process, and check in the 1mvendor/cache0m
|
70
|
-
before deploying to production.
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
October 2016 BUNDLE-PACKAGE(1)
|
@@ -1,57 +0,0 @@
|
|
1
|
-
BUNDLE-PLATFORM(1) BUNDLE-PLATFORM(1)
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
1mNAME0m
|
6
|
-
1mbundle-platform 22m- Displays platform compatibility information
|
7
|
-
|
8
|
-
1mSYNOPSIS0m
|
9
|
-
1mbundle platform 22m[--ruby]
|
10
|
-
|
11
|
-
1mDESCRIPTION0m
|
12
|
-
1mplatform 22mwill display information from your Gemfile, Gemfile.lock, and
|
13
|
-
Ruby VM about your platform.
|
14
|
-
|
15
|
-
For instance, using this Gemfile(5):
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
source "https://rubygems.org"
|
20
|
-
|
21
|
-
ruby "1.9.3"
|
22
|
-
|
23
|
-
gem "rack"
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
If you run 1mbundle platform 22mon Ruby 1.9.3, it will display the following
|
28
|
-
output:
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
Your platform is: x86_64-linux
|
33
|
-
|
34
|
-
Your app has gems that work on these platforms:
|
35
|
-
* ruby
|
36
|
-
|
37
|
-
Your Gemfile specifies a Ruby version requirement:
|
38
|
-
* ruby 1.9.3
|
39
|
-
|
40
|
-
Your current platform satisfies the Ruby version requirement.
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
1mplatform 22mwill list all the platforms in your 1mGemfile.lock 22mas well as
|
45
|
-
the 1mruby 22mdirective if applicable from your Gemfile(5). It will also let
|
46
|
-
you know if the 1mruby 22mdirective requirement has been met. If 1mruby 22mdirec-
|
47
|
-
tive doesn't match the running Ruby VM, it will tell you what part does
|
48
|
-
not.
|
49
|
-
|
50
|
-
1mOPTIONS0m
|
51
|
-
1m--ruby 22mIt will display the ruby directive information, so you don't
|
52
|
-
have to parse it from the Gemfile(5).
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
October 2016 BUNDLE-PLATFORM(1)
|
@@ -1,221 +0,0 @@
|
|
1
|
-
.\" generated with Ronn/v0.7.3
|
2
|
-
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
|
-
.
|
4
|
-
.TH "BUNDLE\-UPDATE" "1" "October 2016" "" ""
|
5
|
-
.
|
6
|
-
.SH "NAME"
|
7
|
-
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
8
|
-
.
|
9
|
-
.SH "SYNOPSIS"
|
10
|
-
\fBbundle update\fR \fI*gems\fR [\-\-group=NAME] [\-\-source=NAME] [\-\-local] [\-\-ruby]
|
11
|
-
.
|
12
|
-
.SH "DESCRIPTION"
|
13
|
-
Update the gems specified (all gems, if none are specified), ignoring the previously installed gems specified in the \fBGemfile\.lock\fR\. In general, you should use bundle install(1) \fIbundle\-install\.1\.html\fR to install the same exact gems and versions across machines\.
|
14
|
-
.
|
15
|
-
.P
|
16
|
-
You would use \fBbundle update\fR to explicitly update the version of a gem\.
|
17
|
-
.
|
18
|
-
.SH "OPTIONS"
|
19
|
-
.
|
20
|
-
.TP
|
21
|
-
\fB\-\-group=<name>\fR
|
22
|
-
Only update the gems in the specified group\. For instance, you can update all gems in the development group with \fBbundle update \-\-group development\fR\. You can also call \fBbundle update rails \-\-group test\fR to update the rails gem and all gems in the test group, for example\.
|
23
|
-
.
|
24
|
-
.TP
|
25
|
-
\fB\-\-source=<name>\fR
|
26
|
-
The name of a \fB:git\fR or \fB:path\fR source used in the Gemfile(5)\. For instance, with a \fB:git\fR source of \fBhttp://github\.com/rails/rails\.git\fR, you would call \fBbundle update \-\-source rails\fR
|
27
|
-
.
|
28
|
-
.TP
|
29
|
-
\fB\-\-local\fR
|
30
|
-
Do not attempt to fetch gems remotely and use the gem cache instead\.
|
31
|
-
.
|
32
|
-
.TP
|
33
|
-
\fB\-\-ruby\fR
|
34
|
-
Update the locked version of Ruby to the current version of Ruby\.
|
35
|
-
.
|
36
|
-
.TP
|
37
|
-
\fB\-\-bundler\fR
|
38
|
-
Update the locked version of bundler to the invoked bundler version\.
|
39
|
-
.
|
40
|
-
.SH "UPDATING ALL GEMS"
|
41
|
-
If you run \fBbundle update\fR with no parameters, bundler will ignore any previously installed gems and resolve all dependencies again based on the latest versions of all gems available in the sources\.
|
42
|
-
.
|
43
|
-
.P
|
44
|
-
Consider the following Gemfile(5):
|
45
|
-
.
|
46
|
-
.IP "" 4
|
47
|
-
.
|
48
|
-
.nf
|
49
|
-
|
50
|
-
source "https://rubygems\.org"
|
51
|
-
|
52
|
-
gem "rails", "3\.0\.0\.rc"
|
53
|
-
gem "nokogiri"
|
54
|
-
.
|
55
|
-
.fi
|
56
|
-
.
|
57
|
-
.IP "" 0
|
58
|
-
.
|
59
|
-
.P
|
60
|
-
When you run bundle install(1) \fIbundle\-install\.1\.html\fR the first time, bundler will resolve all of the dependencies, all the way down, and install what you need:
|
61
|
-
.
|
62
|
-
.IP "" 4
|
63
|
-
.
|
64
|
-
.nf
|
65
|
-
|
66
|
-
Fetching gem metadata from https://rubygems\.org/\.\.\.\.\.\.\.\.\.
|
67
|
-
Resolving dependencies\.\.\.
|
68
|
-
Installing builder 2\.1\.2
|
69
|
-
Installing abstract 1\.0\.0
|
70
|
-
Installing rack 1\.2\.8
|
71
|
-
Using bundler 1\.7\.6
|
72
|
-
Installing rake 10\.4\.0
|
73
|
-
Installing polyglot 0\.3\.5
|
74
|
-
Installing mime\-types 1\.25\.1
|
75
|
-
Installing i18n 0\.4\.2
|
76
|
-
Installing mini_portile 0\.6\.1
|
77
|
-
Installing tzinfo 0\.3\.42
|
78
|
-
Installing rack\-mount 0\.6\.14
|
79
|
-
Installing rack\-test 0\.5\.7
|
80
|
-
Installing treetop 1\.4\.15
|
81
|
-
Installing thor 0\.14\.6
|
82
|
-
Installing activesupport 3\.0\.0\.rc
|
83
|
-
Installing erubis 2\.6\.6
|
84
|
-
Installing activemodel 3\.0\.0\.rc
|
85
|
-
Installing arel 0\.4\.0
|
86
|
-
Installing mail 2\.2\.20
|
87
|
-
Installing activeresource 3\.0\.0\.rc
|
88
|
-
Installing actionpack 3\.0\.0\.rc
|
89
|
-
Installing activerecord 3\.0\.0\.rc
|
90
|
-
Installing actionmailer 3\.0\.0\.rc
|
91
|
-
Installing railties 3\.0\.0\.rc
|
92
|
-
Installing rails 3\.0\.0\.rc
|
93
|
-
Installing nokogiri 1\.6\.5
|
94
|
-
|
95
|
-
Bundle complete! 2 Gemfile dependencies, 26 gems total\.
|
96
|
-
Use `bundle show [gemname]` to see where a bundled gem is installed\.
|
97
|
-
.
|
98
|
-
.fi
|
99
|
-
.
|
100
|
-
.IP "" 0
|
101
|
-
.
|
102
|
-
.P
|
103
|
-
As you can see, even though you have two gems in the Gemfile(5), your application needs 26 different gems in order to run\. Bundler remembers the exact versions it installed in \fBGemfile\.lock\fR\. The next time you run bundle install(1) \fIbundle\-install\.1\.html\fR, bundler skips the dependency resolution and installs the same gems as it installed last time\.
|
104
|
-
.
|
105
|
-
.P
|
106
|
-
After checking in the \fBGemfile\.lock\fR into version control and cloning it on another machine, running bundle install(1) \fIbundle\-install\.1\.html\fR will \fIstill\fR install the gems that you installed last time\. You don\'t need to worry that a new release of \fBerubis\fR or \fBmail\fR changes the gems you use\.
|
107
|
-
.
|
108
|
-
.P
|
109
|
-
However, from time to time, you might want to update the gems you are using to the newest versions that still match the gems in your Gemfile(5)\.
|
110
|
-
.
|
111
|
-
.P
|
112
|
-
To do this, run \fBbundle update\fR, which will ignore the \fBGemfile\.lock\fR, and resolve all the dependencies again\. Keep in mind that this process can result in a significantly different set of the 25 gems, based on the requirements of new gems that the gem authors released since the last time you ran \fBbundle update\fR\.
|
113
|
-
.
|
114
|
-
.SH "UPDATING A LIST OF GEMS"
|
115
|
-
Sometimes, you want to update a single gem in the Gemfile(5), and leave the rest of the gems that you specified locked to the versions in the \fBGemfile\.lock\fR\.
|
116
|
-
.
|
117
|
-
.P
|
118
|
-
For instance, in the scenario above, imagine that \fBnokogiri\fR releases version \fB1\.4\.4\fR, and you want to update it \fIwithout\fR updating Rails and all of its dependencies\. To do this, run \fBbundle update nokogiri\fR\.
|
119
|
-
.
|
120
|
-
.P
|
121
|
-
Bundler will update \fBnokogiri\fR and any of its dependencies, but leave alone Rails and its dependencies\.
|
122
|
-
.
|
123
|
-
.SH "OVERLAPPING DEPENDENCIES"
|
124
|
-
Sometimes, multiple gems declared in your Gemfile(5) are satisfied by the same second\-level dependency\. For instance, consider the case of \fBthin\fR and \fBrack\-perftools\-profiler\fR\.
|
125
|
-
.
|
126
|
-
.IP "" 4
|
127
|
-
.
|
128
|
-
.nf
|
129
|
-
|
130
|
-
source "https://rubygems\.org"
|
131
|
-
|
132
|
-
gem "thin"
|
133
|
-
gem "rack\-perftools\-profiler"
|
134
|
-
.
|
135
|
-
.fi
|
136
|
-
.
|
137
|
-
.IP "" 0
|
138
|
-
.
|
139
|
-
.P
|
140
|
-
The \fBthin\fR gem depends on \fBrack >= 1\.0\fR, while \fBrack\-perftools\-profiler\fR depends on \fBrack ~> 1\.0\fR\. If you run bundle install, you get:
|
141
|
-
.
|
142
|
-
.IP "" 4
|
143
|
-
.
|
144
|
-
.nf
|
145
|
-
|
146
|
-
Fetching source index for https://rubygems\.org/
|
147
|
-
Installing daemons (1\.1\.0)
|
148
|
-
Installing eventmachine (0\.12\.10) with native extensions
|
149
|
-
Installing open4 (1\.0\.1)
|
150
|
-
Installing perftools\.rb (0\.4\.7) with native extensions
|
151
|
-
Installing rack (1\.2\.1)
|
152
|
-
Installing rack\-perftools_profiler (0\.0\.2)
|
153
|
-
Installing thin (1\.2\.7) with native extensions
|
154
|
-
Using bundler (1\.0\.0\.rc\.3)
|
155
|
-
.
|
156
|
-
.fi
|
157
|
-
.
|
158
|
-
.IP "" 0
|
159
|
-
.
|
160
|
-
.P
|
161
|
-
In this case, the two gems have their own set of dependencies, but they share \fBrack\fR in common\. If you run \fBbundle update thin\fR, bundler will update \fBdaemons\fR, \fBeventmachine\fR and \fBrack\fR, which are dependencies of \fBthin\fR, but not \fBopen4\fR or \fBperftools\.rb\fR, which are dependencies of \fBrack\-perftools_profiler\fR\. Note that \fBbundle update thin\fR will update \fBrack\fR even though it\'s \fIalso\fR a dependency of \fBrack\-perftools_profiler\fR\.
|
162
|
-
.
|
163
|
-
.P
|
164
|
-
\fBIn short\fR, when you update a gem using \fBbundle update\fR, bundler will update all dependencies of that gem, including those that are also dependencies of another gem\.
|
165
|
-
.
|
166
|
-
.P
|
167
|
-
In this scenario, updating the \fBthin\fR version manually in the Gemfile(5), and then running bundle install(1) \fIbundle\-install\.1\.html\fR will only update \fBdaemons\fR and \fBeventmachine\fR, but not \fBrack\fR\. For more information, see the \fBCONSERVATIVE UPDATING\fR section of bundle install(1) \fIbundle\-install\.1\.html\fR\.
|
168
|
-
.
|
169
|
-
.SH "RECOMMENDED WORKFLOW"
|
170
|
-
In general, when working with an application managed with bundler, you should use the following workflow:
|
171
|
-
.
|
172
|
-
.IP "\(bu" 4
|
173
|
-
After you create your Gemfile(5) for the first time, run
|
174
|
-
.
|
175
|
-
.IP
|
176
|
-
$ bundle install
|
177
|
-
.
|
178
|
-
.IP "\(bu" 4
|
179
|
-
Check the resulting \fBGemfile\.lock\fR into version control
|
180
|
-
.
|
181
|
-
.IP
|
182
|
-
$ git add Gemfile\.lock
|
183
|
-
.
|
184
|
-
.IP "\(bu" 4
|
185
|
-
When checking out this repository on another development machine, run
|
186
|
-
.
|
187
|
-
.IP
|
188
|
-
$ bundle install
|
189
|
-
.
|
190
|
-
.IP "\(bu" 4
|
191
|
-
When checking out this repository on a deployment machine, run
|
192
|
-
.
|
193
|
-
.IP
|
194
|
-
$ bundle install \-\-deployment
|
195
|
-
.
|
196
|
-
.IP "\(bu" 4
|
197
|
-
After changing the Gemfile(5) to reflect a new or update dependency, run
|
198
|
-
.
|
199
|
-
.IP
|
200
|
-
$ bundle install
|
201
|
-
.
|
202
|
-
.IP "\(bu" 4
|
203
|
-
Make sure to check the updated \fBGemfile\.lock\fR into version control
|
204
|
-
.
|
205
|
-
.IP
|
206
|
-
$ git add Gemfile\.lock
|
207
|
-
.
|
208
|
-
.IP "\(bu" 4
|
209
|
-
If bundle install(1) \fIbundle\-install\.1\.html\fR reports a conflict, manually update the specific gems that you changed in the Gemfile(5)
|
210
|
-
.
|
211
|
-
.IP
|
212
|
-
$ bundle update rails thin
|
213
|
-
.
|
214
|
-
.IP "\(bu" 4
|
215
|
-
If you want to update all the gems to the latest possible versions that still match the gems listed in the Gemfile(5), run
|
216
|
-
.
|
217
|
-
.IP
|
218
|
-
$ bundle update
|
219
|
-
.
|
220
|
-
.IP "" 0
|
221
|
-
|
@@ -1,227 +0,0 @@
|
|
1
|
-
BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
1mNAME0m
|
6
|
-
1mbundle-update 22m- Update your gems to the latest available versions
|
7
|
-
|
8
|
-
1mSYNOPSIS0m
|
9
|
-
1mbundle update 4m22m*gems24m [--group=NAME] [--source=NAME] [--local] [--ruby]
|
10
|
-
|
11
|
-
1mDESCRIPTION0m
|
12
|
-
Update the gems specified (all gems, if none are specified), ignoring
|
13
|
-
the previously installed gems specified in the 1mGemfile.lock22m. In gen-
|
14
|
-
eral, you should use bundle install(1) 4mbundle-install.1.html24m to install
|
15
|
-
the same exact gems and versions across machines.
|
16
|
-
|
17
|
-
You would use 1mbundle update 22mto explicitly update the version of a gem.
|
18
|
-
|
19
|
-
1mOPTIONS0m
|
20
|
-
1m--group=<name>0m
|
21
|
-
Only update the gems in the specified group. For instance, you
|
22
|
-
can update all gems in the development group with 1mbundle update0m
|
23
|
-
1m--group development22m. You can also call 1mbundle update rails0m
|
24
|
-
1m--group test 22mto update the rails gem and all gems in the test
|
25
|
-
group, for example.
|
26
|
-
|
27
|
-
1m--source=<name>0m
|
28
|
-
The name of a 1m:git 22mor 1m:path 22msource used in the Gemfile(5). For
|
29
|
-
instance, with a 1m:git 22msource of
|
30
|
-
1mhttp://github.com/rails/rails.git22m, you would call 1mbundle update0m
|
31
|
-
1m--source rails0m
|
32
|
-
|
33
|
-
1m--local0m
|
34
|
-
Do not attempt to fetch gems remotely and use the gem cache
|
35
|
-
instead.
|
36
|
-
|
37
|
-
1m--ruby 22mUpdate the locked version of Ruby to the current version of
|
38
|
-
Ruby.
|
39
|
-
|
40
|
-
1m--bundler0m
|
41
|
-
Update the locked version of bundler to the invoked bundler ver-
|
42
|
-
sion.
|
43
|
-
|
44
|
-
1mUPDATING ALL GEMS0m
|
45
|
-
If you run 1mbundle update 22mwith no parameters, bundler will ignore any
|
46
|
-
previously installed gems and resolve all dependencies again based on
|
47
|
-
the latest versions of all gems available in the sources.
|
48
|
-
|
49
|
-
Consider the following Gemfile(5):
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
source "https://rubygems.org"
|
54
|
-
|
55
|
-
gem "rails", "3.0.0.rc"
|
56
|
-
gem "nokogiri"
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
When you run bundle install(1) 4mbundle-install.1.html24m the first time,
|
61
|
-
bundler will resolve all of the dependencies, all the way down, and
|
62
|
-
install what you need:
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
Fetching gem metadata from https://rubygems.org/.........
|
67
|
-
Resolving dependencies...
|
68
|
-
Installing builder 2.1.2
|
69
|
-
Installing abstract 1.0.0
|
70
|
-
Installing rack 1.2.8
|
71
|
-
Using bundler 1.7.6
|
72
|
-
Installing rake 10.4.0
|
73
|
-
Installing polyglot 0.3.5
|
74
|
-
Installing mime-types 1.25.1
|
75
|
-
Installing i18n 0.4.2
|
76
|
-
Installing mini_portile 0.6.1
|
77
|
-
Installing tzinfo 0.3.42
|
78
|
-
Installing rack-mount 0.6.14
|
79
|
-
Installing rack-test 0.5.7
|
80
|
-
Installing treetop 1.4.15
|
81
|
-
Installing thor 0.14.6
|
82
|
-
Installing activesupport 3.0.0.rc
|
83
|
-
Installing erubis 2.6.6
|
84
|
-
Installing activemodel 3.0.0.rc
|
85
|
-
Installing arel 0.4.0
|
86
|
-
Installing mail 2.2.20
|
87
|
-
Installing activeresource 3.0.0.rc
|
88
|
-
Installing actionpack 3.0.0.rc
|
89
|
-
Installing activerecord 3.0.0.rc
|
90
|
-
Installing actionmailer 3.0.0.rc
|
91
|
-
Installing railties 3.0.0.rc
|
92
|
-
Installing rails 3.0.0.rc
|
93
|
-
Installing nokogiri 1.6.5
|
94
|
-
|
95
|
-
Bundle complete! 2 Gemfile dependencies, 26 gems total.
|
96
|
-
Use `bundle show [gemname]` to see where a bundled gem is installed.
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
As you can see, even though you have two gems in the Gemfile(5), your
|
101
|
-
application needs 26 different gems in order to run. Bundler remembers
|
102
|
-
the exact versions it installed in 1mGemfile.lock22m. The next time you run
|
103
|
-
bundle install(1) 4mbundle-install.1.html24m, bundler skips the dependency
|
104
|
-
resolution and installs the same gems as it installed last time.
|
105
|
-
|
106
|
-
After checking in the 1mGemfile.lock 22minto version control and cloning it
|
107
|
-
on another machine, running bundle install(1) 4mbundle-install.1.html0m
|
108
|
-
will 4mstill24m install the gems that you installed last time. You don't
|
109
|
-
need to worry that a new release of 1merubis 22mor 1mmail 22mchanges the gems you
|
110
|
-
use.
|
111
|
-
|
112
|
-
However, from time to time, you might want to update the gems you are
|
113
|
-
using to the newest versions that still match the gems in your Gem-
|
114
|
-
file(5).
|
115
|
-
|
116
|
-
To do this, run 1mbundle update22m, which will ignore the 1mGemfile.lock22m, and
|
117
|
-
resolve all the dependencies again. Keep in mind that this process can
|
118
|
-
result in a significantly different set of the 25 gems, based on the
|
119
|
-
requirements of new gems that the gem authors released since the last
|
120
|
-
time you ran 1mbundle update22m.
|
121
|
-
|
122
|
-
1mUPDATING A LIST OF GEMS0m
|
123
|
-
Sometimes, you want to update a single gem in the Gemfile(5), and leave
|
124
|
-
the rest of the gems that you specified locked to the versions in the
|
125
|
-
1mGemfile.lock22m.
|
126
|
-
|
127
|
-
For instance, in the scenario above, imagine that 1mnokogiri 22mreleases
|
128
|
-
version 1m1.4.422m, and you want to update it 4mwithout24m updating Rails and all
|
129
|
-
of its dependencies. To do this, run 1mbundle update nokogiri22m.
|
130
|
-
|
131
|
-
Bundler will update 1mnokogiri 22mand any of its dependencies, but leave
|
132
|
-
alone Rails and its dependencies.
|
133
|
-
|
134
|
-
1mOVERLAPPING DEPENDENCIES0m
|
135
|
-
Sometimes, multiple gems declared in your Gemfile(5) are satisfied by
|
136
|
-
the same second-level dependency. For instance, consider the case of
|
137
|
-
1mthin 22mand 1mrack-perftools-profiler22m.
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
source "https://rubygems.org"
|
142
|
-
|
143
|
-
gem "thin"
|
144
|
-
gem "rack-perftools-profiler"
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
The 1mthin 22mgem depends on 1mrack >= 1.022m, while 1mrack-perftools-profiler0m
|
149
|
-
depends on 1mrack ~> 1.022m. If you run bundle install, you get:
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
Fetching source index for https://rubygems.org/
|
154
|
-
Installing daemons (1.1.0)
|
155
|
-
Installing eventmachine (0.12.10) with native extensions
|
156
|
-
Installing open4 (1.0.1)
|
157
|
-
Installing perftools.rb (0.4.7) with native extensions
|
158
|
-
Installing rack (1.2.1)
|
159
|
-
Installing rack-perftools_profiler (0.0.2)
|
160
|
-
Installing thin (1.2.7) with native extensions
|
161
|
-
Using bundler (1.0.0.rc.3)
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
In this case, the two gems have their own set of dependencies, but they
|
166
|
-
share 1mrack 22min common. If you run 1mbundle update thin22m, bundler will
|
167
|
-
update 1mdaemons22m, 1meventmachine 22mand 1mrack22m, which are dependencies of 1mthin22m,
|
168
|
-
but not 1mopen4 22mor 1mperftools.rb22m, which are dependencies of
|
169
|
-
1mrack-perftools_profiler22m. Note that 1mbundle update thin 22mwill update 1mrack0m
|
170
|
-
even though it's 4malso24m a dependency of 1mrack-perftools_profiler22m.
|
171
|
-
|
172
|
-
1mIn short22m, when you update a gem using 1mbundle update22m, bundler will
|
173
|
-
update all dependencies of that gem, including those that are also
|
174
|
-
dependencies of another gem.
|
175
|
-
|
176
|
-
In this scenario, updating the 1mthin 22mversion manually in the Gemfile(5),
|
177
|
-
and then running bundle install(1) 4mbundle-install.1.html24m will only
|
178
|
-
update 1mdaemons 22mand 1meventmachine22m, but not 1mrack22m. For more information,
|
179
|
-
see the 1mCONSERVATIVE UPDATING 22msection of bundle install(1) 4mbun-0m
|
180
|
-
4mdle-install.1.html24m.
|
181
|
-
|
182
|
-
1mRECOMMENDED WORKFLOW0m
|
183
|
-
In general, when working with an application managed with bundler, you
|
184
|
-
should use the following workflow:
|
185
|
-
|
186
|
-
o After you create your Gemfile(5) for the first time, run
|
187
|
-
|
188
|
-
$ bundle install
|
189
|
-
|
190
|
-
o Check the resulting 1mGemfile.lock 22minto version control
|
191
|
-
|
192
|
-
$ git add Gemfile.lock
|
193
|
-
|
194
|
-
o When checking out this repository on another development machine,
|
195
|
-
run
|
196
|
-
|
197
|
-
$ bundle install
|
198
|
-
|
199
|
-
o When checking out this repository on a deployment machine, run
|
200
|
-
|
201
|
-
$ bundle install --deployment
|
202
|
-
|
203
|
-
o After changing the Gemfile(5) to reflect a new or update depen-
|
204
|
-
dency, run
|
205
|
-
|
206
|
-
$ bundle install
|
207
|
-
|
208
|
-
o Make sure to check the updated 1mGemfile.lock 22minto version control
|
209
|
-
|
210
|
-
$ git add Gemfile.lock
|
211
|
-
|
212
|
-
o If bundle install(1) 4mbundle-install.1.html24m reports a conflict, man-
|
213
|
-
ually update the specific gems that you changed in the Gemfile(5)
|
214
|
-
|
215
|
-
$ bundle update rails thin
|
216
|
-
|
217
|
-
o If you want to update all the gems to the latest possible versions
|
218
|
-
that still match the gems listed in the Gemfile(5), run
|
219
|
-
|
220
|
-
$ bundle update
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
October 2016 BUNDLE-UPDATE(1)
|