summaryrefslogtreecommitdiff
path: root/man/bundle-update.1.txt
diff options
context:
space:
mode:
Diffstat (limited to 'man/bundle-update.1.txt')
-rw-r--r--man/bundle-update.1.txt297
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)