diff options
Diffstat (limited to 'man/bundle-update.1.txt')
-rw-r--r-- | man/bundle-update.1.txt | 297 |
1 files changed, 149 insertions, 148 deletions
diff --git a/man/bundle-update.1.txt b/man/bundle-update.1.txt index b8208c75d3..4b44505571 100644 --- a/man/bundle-update.1.txt +++ b/man/bundle-update.1.txt @@ -1,4 +1,4 @@ -BUNDLE-UPDATE(1) BUNDLE-UPDATE(1) +BUNDLE-UPDATE(1) BUNDLE-UPDATE(1) @@ -12,9 +12,9 @@ SYNOPSIS DESCRIPTION Update the gems specified (all gems, if --all flag is used), ignoring - the previously installed gems specified in the Gemfile.lock. In gen- - eral, you should use bundle install(1) bundle-install.1.html to install - the same exact gems and versions across machines. + the previously installed gems specified in the Gemfile.lock. In + general, you should use bundle install(1) bundle-install.1.html to + install the same exact gems and versions across machines. You would use bundle update to explicitly update the version of a gem. @@ -22,114 +22,114 @@ OPTIONS --all Update all gems specified in Gemfile. --group=<name>, -g=[<name>] - Only update the gems in the specified group. For instance, you - can update all gems in the development group with bundle update - --group development. You can also call bundle update rails - --group test to update the rails gem and all gems in the test - group, for example. + Only update the gems in the specified group. For instance, you + can update all gems in the development group with bundle update + --group development. You can also call bundle update rails + --group test to update the rails gem and all gems in the test + group, for example. --source=<name> - The name of a :git or :path source used in the Gemfile(5). For - instance, with a :git source of - http://github.com/rails/rails.git, you would call bundle update - --source rails + The name of a :git or :path source used in the Gemfile(5). For + instance, with a :git source of + http://github.com/rails/rails.git, you would call bundle update + --source rails --local - Do not attempt to fetch gems remotely and use the gem cache - instead. + Do not attempt to fetch gems remotely and use the gem cache + instead. --ruby Update the locked version of Ruby to the current version of - Ruby. + Ruby. --bundler - Update the locked version of bundler to the invoked bundler ver- - sion. + Update the locked version of bundler to the invoked bundler + version. --full-index - Fall back to using the single-file index of all gems. + Fall back to using the single-file index of all gems. --jobs=[<number>], -j[<number>] - Specify the number of jobs to run in parallel. The default is 1. + Specify the number of jobs to run in parallel. The default is 1. --retry=[<number>] - Retry failed network or git requests for number times. + Retry failed network or git requests for number times. --quiet - Only output warnings and errors. + Only output warnings and errors. --redownload - Force downloading every gem. + Force downloading every gem. --patch - Prefer updating only to next patch version. + Prefer updating only to next patch version. --minor - Prefer updating only to next minor version. + Prefer updating only to next minor version. --major - Prefer updating to next major version (default). + Prefer updating to next major version (default). --strict - Do not allow any gem to be updated past latest --patch | --minor - | --major. + Do not allow any gem to be updated past latest --patch | --minor + | --major. --conservative - Use bundle install conservative update behavior and do not allow - shared dependencies to be updated. + Use bundle install conservative update behavior and do not allow + shared dependencies to be updated. UPDATING ALL GEMS - If you run bundle update --all, bundler will ignore any previously - installed gems and resolve all dependencies again based on the latest + If you run bundle update --all, bundler will ignore any previously + installed gems and resolve all dependencies again based on the latest versions of all gems available in the sources. Consider the following Gemfile(5): - source "https://rubygems.org" + source "https://rubygems.org" - gem "rails", "3.0.0.rc" - gem "nokogiri" + gem "rails", "3.0.0.rc" + gem "nokogiri" When you run bundle install(1) bundle-install.1.html the first time, - bundler will resolve all of the dependencies, all the way down, and + bundler will resolve all of the dependencies, all the way down, and install what you need: - Fetching gem metadata from https://rubygems.org/......... - Resolving dependencies... - Installing builder 2.1.2 - Installing abstract 1.0.0 - Installing rack 1.2.8 - Using bundler 1.7.6 - Installing rake 10.4.0 - Installing polyglot 0.3.5 - Installing mime-types 1.25.1 - Installing i18n 0.4.2 - Installing mini_portile 0.6.1 - Installing tzinfo 0.3.42 - Installing rack-mount 0.6.14 - Installing rack-test 0.5.7 - Installing treetop 1.4.15 - Installing thor 0.14.6 - Installing activesupport 3.0.0.rc - Installing erubis 2.6.6 - Installing activemodel 3.0.0.rc - Installing arel 0.4.0 - Installing mail 2.2.20 - Installing activeresource 3.0.0.rc - Installing actionpack 3.0.0.rc - Installing activerecord 3.0.0.rc - Installing actionmailer 3.0.0.rc - Installing railties 3.0.0.rc - Installing rails 3.0.0.rc - Installing nokogiri 1.6.5 - - Bundle complete! 2 Gemfile dependencies, 26 gems total. - Use `bundle show [gemname]` to see where a bundled gem is installed. + Fetching gem metadata from https://rubygems.org/......... + Resolving dependencies... + Installing builder 2.1.2 + Installing abstract 1.0.0 + Installing rack 1.2.8 + Using bundler 1.7.6 + Installing rake 10.4.0 + Installing polyglot 0.3.5 + Installing mime-types 1.25.1 + Installing i18n 0.4.2 + Installing mini_portile 0.6.1 + Installing tzinfo 0.3.42 + Installing rack-mount 0.6.14 + Installing rack-test 0.5.7 + Installing treetop 1.4.15 + Installing thor 0.14.6 + Installing activesupport 3.0.0.rc + Installing erubis 2.6.6 + Installing activemodel 3.0.0.rc + Installing arel 0.4.0 + Installing mail 2.2.20 + Installing activeresource 3.0.0.rc + Installing actionpack 3.0.0.rc + Installing activerecord 3.0.0.rc + Installing actionmailer 3.0.0.rc + Installing railties 3.0.0.rc + Installing rails 3.0.0.rc + Installing nokogiri 1.6.5 + + Bundle complete! 2 Gemfile dependencies, 26 gems total. + Use `bundle show [gemname]` to see where a bundled gem is installed. @@ -146,13 +146,13 @@ UPDATING ALL GEMS use. 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 Gem- - file(5). + using to the newest versions that still match the gems in your + Gemfile(5). - To do this, run bundle update --all, which will ignore the Gem- - file.lock, and resolve all the dependencies again. Keep in mind that + To do this, run bundle update --all, which will ignore the + Gemfile.lock, 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 + gems, based on the requirements of new gems that the gem authors released since the last time you ran bundle update --all. UPDATING A LIST OF GEMS @@ -164,7 +164,7 @@ UPDATING A LIST OF GEMS version 1.4.4, and you want to update it without updating Rails and all of its dependencies. To do this, run bundle update nokogiri. - Bundler will update nokogiri and any of its dependencies, but leave + Bundler will update nokogiri and any of its dependencies, but leave alone Rails and its dependencies. OVERLAPPING DEPENDENCIES @@ -174,34 +174,34 @@ OVERLAPPING DEPENDENCIES - source "https://rubygems.org" + source "https://rubygems.org" - gem "thin" - gem "rack-perftools-profiler" + gem "thin" + gem "rack-perftools-profiler" - The thin gem depends on rack >= 1.0, while rack-perftools-profiler + The thin gem depends on rack >= 1.0, while rack-perftools-profiler depends on rack ~> 1.0. If you run bundle install, you get: - Fetching source index for https://rubygems.org/ - Installing daemons (1.1.0) - Installing eventmachine (0.12.10) with native extensions - Installing open4 (1.0.1) - Installing perftools.rb (0.4.7) with native extensions - Installing rack (1.2.1) - Installing rack-perftools_profiler (0.0.2) - Installing thin (1.2.7) with native extensions - Using bundler (1.0.0.rc.3) + Fetching source index for https://rubygems.org/ + Installing daemons (1.1.0) + Installing eventmachine (0.12.10) with native extensions + Installing open4 (1.0.1) + Installing perftools.rb (0.4.7) with native extensions + Installing rack (1.2.1) + Installing rack-perftools_profiler (0.0.2) + Installing thin (1.2.7) with native extensions + Using bundler (1.0.0.rc.3) In this case, the two gems have their own set of dependencies, but they - share rack in common. If you run bundle update thin, bundler will + share rack in common. If you run bundle update thin, bundler will update daemons, eventmachine and rack, which are dependencies of thin, - but not open4 or perftools.rb, which are dependencies of + but not open4 or perftools.rb, which are dependencies of rack-perftools_profiler. Note that bundle update thin will update rack even though it's also a dependency of rack-perftools_profiler. @@ -210,85 +210,85 @@ OVERLAPPING DEPENDENCIES are also dependencies of another gem. To prevent updating shared dependencies, prior to version 1.14 the only - option was the CONSERVATIVE UPDATING behavior in bundle install(1) bun- - dle-install.1.html: + option was the CONSERVATIVE UPDATING behavior in bundle install(1) + bundle-install.1.html: In this scenario, updating the thin version manually in the Gemfile(5), and then running bundle install(1) bundle-install.1.html will only - update daemons and eventmachine, but not rack. For more information, - see the CONSERVATIVE UPDATING section of bundle install(1) bun- - dle-install.1.html. + update daemons and eventmachine, but not rack. For more information, + see the CONSERVATIVE UPDATING section of bundle install(1) + bundle-install.1.html. - Starting with 1.14, specifying the --conservative option will also pre- - vent shared dependencies from being updated. + Starting with 1.14, specifying the --conservative option will also + prevent shared dependencies from being updated. PATCH LEVEL OPTIONS - Version 1.14 introduced 4 patch-level options that will influence how + Version 1.14 introduced 4 patch-level options that will influence how gem versions are resolved. One of the following options can be used: --patch, --minor or --major. --strict can be added to further influence resolution. --patch - Prefer updating only to next patch version. + Prefer updating only to next patch version. --minor - Prefer updating only to next minor version. + Prefer updating only to next minor version. --major - Prefer updating to next major version (default). + Prefer updating to next major version (default). --strict - Do not allow any gem to be updated past latest --patch | --minor - | --major. + Do not allow any gem to be updated past latest --patch | --minor + | --major. - When Bundler is resolving what versions to use to satisfy declared - requirements in the Gemfile or in parent gems, it looks up all avail- - able versions, filters out any versions that don't satisfy the require- - ment, and then, by default, sorts them from newest to oldest, consider- - ing them in that order. + When Bundler is resolving what versions to use to satisfy declared + requirements in the Gemfile or in parent gems, it looks up all + available versions, filters out any versions that don't satisfy the + requirement, and then, by default, sorts them from newest to oldest, + considering them in that order. - Providing one of the patch level options (e.g. --patch) changes the + Providing one of the patch level options (e.g. --patch) changes the sort order of the satisfying versions, causing Bundler to consider the latest --patch or --minor version available before other versions. Note that versions outside the stated patch level could still be resolved to if necessary to find a suitable dependency graph. For example, if gem 'foo' is locked at 1.0.2, with no gem requirement - defined in the Gemfile, and versions 1.0.3, 1.0.4, 1.1.0, 1.1.1, 2.0.0 + defined in the Gemfile, and versions 1.0.3, 1.0.4, 1.1.0, 1.1.1, 2.0.0 all exist, the default order of preference by default (--major) will be "2.0.0, 1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2". - If the --patch option is used, the order of preference will change to + If the --patch option is used, the order of preference will change to "1.0.4, 1.0.3, 1.0.2, 1.1.1, 1.1.0, 2.0.0". If the --minor option is used, the order of preference will change to "1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2, 2.0.0". Combining the --strict option with any of the patch level options will - remove any versions beyond the scope of the patch level option, to + remove any versions beyond the scope of the patch level option, to ensure that no gem is updated that far. To continue the previous example, if both --patch and --strict options are used, the available versions for resolution would be "1.0.4, 1.0.3, - 1.0.2". If --minor and --strict are used, it would be "1.1.1, 1.1.0, + 1.0.2". If --minor and --strict are used, it would be "1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2". - Gem requirements as defined in the Gemfile will still be the first - determining factor for what versions are available. If the gem require- - ment for foo in the Gemfile is '~> 1.0', that will accomplish the same - thing as providing the --minor and --strict options. + Gem requirements as defined in the Gemfile will still be the first + determining factor for what versions are available. If the gem + requirement for foo in the Gemfile is '~> 1.0', that will accomplish + the same thing as providing the --minor and --strict options. PATCH LEVEL EXAMPLES Given the following gem specifications: - foo 1.4.3, requires: ~> bar 2.0 - foo 1.4.4, requires: ~> bar 2.0 - foo 1.4.5, requires: ~> bar 2.1 - foo 1.5.0, requires: ~> bar 2.1 - foo 1.5.1, requires: ~> bar 3.0 - bar with versions 2.0.3, 2.0.4, 2.1.0, 2.1.1, 3.0.0 + foo 1.4.3, requires: ~> bar 2.0 + foo 1.4.4, requires: ~> bar 2.0 + foo 1.4.5, requires: ~> bar 2.1 + foo 1.5.0, requires: ~> bar 2.1 + foo 1.5.1, requires: ~> bar 3.0 + bar with versions 2.0.3, 2.0.4, 2.1.0, 2.1.1, 3.0.0 @@ -296,7 +296,7 @@ PATCH LEVEL EXAMPLES - gem 'foo' + gem 'foo' @@ -304,9 +304,9 @@ PATCH LEVEL EXAMPLES - foo (1.4.3) - bar (~> 2.0) - bar (2.0.3) + foo (1.4.3) + bar (~> 2.0) + bar (2.0.3) @@ -314,13 +314,13 @@ PATCH LEVEL EXAMPLES - # Command Line Result - ------------------------------------------------------------ - 1 bundle update --patch 'foo 1.4.5', 'bar 2.1.1' - 2 bundle update --patch foo 'foo 1.4.5', 'bar 2.1.1' - 3 bundle update --minor 'foo 1.5.1', 'bar 3.0.0' - 4 bundle update --minor --strict 'foo 1.5.0', 'bar 2.1.1' - 5 bundle update --patch --strict 'foo 1.4.4', 'bar 2.0.4' + # Command Line Result + ------------------------------------------------------------ + 1 bundle update --patch 'foo 1.4.5', 'bar 2.1.1' + 2 bundle update --patch foo 'foo 1.4.5', 'bar 2.1.1' + 3 bundle update --minor 'foo 1.5.1', 'bar 3.0.0' + 4 bundle update --minor --strict 'foo 1.5.0', 'bar 2.1.1' + 5 bundle update --patch --strict 'foo 1.4.4', 'bar 2.0.4' @@ -348,43 +348,44 @@ RECOMMENDED WORKFLOW o After you create your Gemfile(5) for the first time, run - $ bundle install + $ bundle install o Check the resulting Gemfile.lock into version control - $ git add Gemfile.lock + $ git add Gemfile.lock o When checking out this repository on another development machine, - run + run - $ bundle install + $ bundle install o When checking out this repository on a deployment machine, run - $ bundle install --deployment + $ bundle install --deployment - o After changing the Gemfile(5) to reflect a new or update depen- - dency, run + o After changing the Gemfile(5) to reflect a new or update + dependency, run - $ bundle install + $ bundle install o Make sure to check the updated Gemfile.lock into version control - $ git add Gemfile.lock + $ git add Gemfile.lock - o If bundle install(1) bundle-install.1.html reports a conflict, man- - ually update the specific gems that you changed in the Gemfile(5) + o If bundle install(1) bundle-install.1.html reports a conflict, + manually update the specific gems that you changed in the + Gemfile(5) - $ bundle update rails thin + $ bundle update rails thin - o If you want to update all the gems to the latest possible versions - that still match the gems listed in the Gemfile(5), run + o If you want to update all the gems to the latest possible versions + that still match the gems listed in the Gemfile(5), run - $ bundle update --all + $ bundle update --all - January 2020 BUNDLE-UPDATE(1) + May 2020 BUNDLE-UPDATE(1) |