bundler 2.1.0 → 2.2.0.rc.1
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 +4 -4
- data/CHANGELOG.md +832 -738
- data/README.md +6 -8
- data/bundler.gemspec +3 -3
- data/exe/bundle +3 -0
- data/lib/bundler.rb +15 -4
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli.rb +32 -11
- data/lib/bundler/cli/console.rb +1 -1
- data/lib/bundler/cli/exec.rb +3 -12
- data/lib/bundler/cli/gem.rb +83 -10
- data/lib/bundler/cli/info.rb +13 -3
- data/lib/bundler/cli/init.rb +1 -1
- data/lib/bundler/cli/install.rb +8 -16
- data/lib/bundler/cli/issue.rb +2 -2
- data/lib/bundler/cli/list.rb +11 -9
- data/lib/bundler/cli/outdated.rb +88 -65
- data/lib/bundler/cli/plugin.rb +10 -0
- data/lib/bundler/cli/pristine.rb +5 -0
- data/lib/bundler/definition.rb +32 -32
- data/lib/bundler/dependency.rb +0 -9
- data/lib/bundler/dsl.rb +1 -5
- data/lib/bundler/environment_preserver.rb +26 -2
- data/lib/bundler/errors.rb +1 -0
- data/lib/bundler/feature_flag.rb +0 -2
- data/lib/bundler/fetcher.rb +1 -0
- data/lib/bundler/friendly_errors.rb +4 -10
- data/lib/bundler/gem_helper.rb +18 -12
- data/lib/bundler/gem_version_promoter.rb +1 -1
- data/lib/bundler/injector.rb +14 -3
- data/lib/bundler/inline.rb +2 -2
- data/lib/bundler/installer.rb +29 -28
- data/lib/bundler/installer/gem_installer.rb +2 -2
- data/lib/bundler/installer/parallel_installer.rb +9 -9
- data/lib/bundler/lazy_specification.rb +16 -3
- data/lib/bundler/plugin.rb +26 -0
- data/lib/bundler/plugin/index.rb +9 -0
- data/lib/bundler/psyched_yaml.rb +0 -15
- data/lib/bundler/remote_specification.rb +4 -1
- data/lib/bundler/resolver.rb +31 -8
- data/lib/bundler/resolver/spec_group.rb +26 -5
- data/lib/bundler/rubygems_ext.rb +7 -8
- data/lib/bundler/rubygems_gem_installer.rb +1 -7
- data/lib/bundler/rubygems_integration.rb +13 -48
- data/lib/bundler/runtime.rb +2 -12
- data/lib/bundler/settings.rb +0 -3
- data/lib/bundler/setup.rb +5 -0
- data/lib/bundler/shared_helpers.rb +1 -1
- data/lib/bundler/source/git.rb +4 -4
- data/lib/bundler/source/git/git_proxy.rb +53 -58
- data/lib/bundler/source/path.rb +5 -1
- data/lib/bundler/source/path/installer.rb +7 -9
- data/lib/bundler/source/rubygems.rb +11 -14
- data/lib/bundler/stub_specification.rb +16 -4
- data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/lib/bundler/templates/newgem/Gemfile.tt +9 -1
- data/lib/bundler/templates/newgem/Rakefile.tt +19 -5
- data/lib/bundler/templates/newgem/bin/console.tt +2 -0
- data/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
- data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
- data/lib/bundler/templates/newgem/lib/newgem.rb.tt +2 -0
- data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +6 -4
- data/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
- data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
- data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -0
- data/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
- data/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
- data/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +72 -208
- data/lib/bundler/vendor/thor/lib/thor.rb +0 -7
- data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/version.rb +1 -1
- data/man/bundle-add.1 +1 -1
- data/man/bundle-add.1.txt +15 -15
- data/man/bundle-binstubs.1 +1 -1
- data/man/bundle-binstubs.1.txt +10 -10
- data/man/bundle-cache.1 +1 -1
- data/man/bundle-cache.1.txt +15 -15
- data/man/bundle-check.1 +1 -1
- data/man/bundle-check.1.txt +8 -8
- data/man/bundle-clean.1 +1 -1
- data/man/bundle-clean.1.txt +6 -6
- data/man/bundle-config.1 +3 -9
- data/man/bundle-config.1.txt +271 -272
- data/man/bundle-config.ronn +5 -9
- data/man/bundle-doctor.1 +1 -1
- data/man/bundle-doctor.1.txt +9 -9
- data/man/bundle-exec.1 +1 -1
- data/man/bundle-exec.1.txt +84 -81
- data/man/bundle-gem.1 +25 -3
- data/man/bundle-gem.1.txt +65 -39
- data/man/bundle-gem.ronn +30 -7
- data/man/bundle-info.1 +1 -1
- data/man/bundle-info.1.txt +2 -2
- data/man/bundle-init.1 +1 -1
- data/man/bundle-init.1.txt +9 -9
- data/man/bundle-inject.1 +1 -1
- data/man/bundle-inject.1.txt +4 -4
- data/man/bundle-install.1 +1 -1
- data/man/bundle-install.1.txt +169 -169
- data/man/bundle-list.1 +7 -7
- data/man/bundle-list.1.txt +12 -11
- data/man/bundle-list.ronn +6 -6
- data/man/bundle-lock.1 +1 -1
- data/man/bundle-lock.1.txt +28 -28
- data/man/bundle-open.1 +1 -1
- data/man/bundle-open.1.txt +3 -3
- data/man/bundle-outdated.1 +1 -1
- data/man/bundle-outdated.1.txt +34 -34
- data/man/bundle-platform.1 +1 -1
- data/man/bundle-platform.1.txt +16 -16
- data/man/bundle-pristine.1 +1 -1
- data/man/bundle-pristine.1.txt +8 -8
- data/man/bundle-remove.1 +1 -1
- data/man/bundle-remove.1.txt +9 -9
- data/man/bundle-show.1 +1 -1
- data/man/bundle-show.1.txt +8 -8
- data/man/bundle-update.1 +1 -1
- data/man/bundle-update.1.txt +149 -148
- data/man/bundle-viz.1 +1 -1
- data/man/bundle-viz.1.txt +11 -11
- data/man/bundle.1 +1 -1
- data/man/bundle.1.txt +31 -31
- data/man/gemfile.5 +1 -1
- data/man/gemfile.5.txt +218 -216
- metadata +14 -8
data/man/bundle-pristine.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
4
|
+
.TH "BUNDLE\-PRISTINE" "1" "July 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
data/man/bundle-pristine.1.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
BUNDLE-PRISTINE(1)
|
1
|
+
BUNDLE-PRISTINE(1) BUNDLE-PRISTINE(1)
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -9,7 +9,7 @@ SYNOPSIS
|
|
9
9
|
bundle pristine
|
10
10
|
|
11
11
|
DESCRIPTION
|
12
|
-
pristine restores the
|
12
|
+
pristine restores the installed gems in the bundle to their pristine
|
13
13
|
condition using the local gem cache from RubyGems. For git gems, a
|
14
14
|
forced checkout will be performed.
|
15
15
|
|
@@ -18,8 +18,8 @@ DESCRIPTION
|
|
18
18
|
gem's git repository as if one were installing from scratch.
|
19
19
|
|
20
20
|
Note: the Bundler gem cannot be restored to its original state with
|
21
|
-
pristine. One also cannot use bundle pristine on gems with a
|
22
|
-
option in the
|
21
|
+
pristine. One also cannot use bundle pristine on gems with a 'path'
|
22
|
+
option in the Gemfile, because bundler has no original copy it can
|
23
23
|
restore from.
|
24
24
|
|
25
25
|
When is it practical to use bundle pristine?
|
@@ -35,10 +35,10 @@ DESCRIPTION
|
|
35
35
|
--all cleans all installed gems for that Ruby version.
|
36
36
|
|
37
37
|
If a developer forgets which gems in their project they might have been
|
38
|
-
debugging,
|
39
|
-
|
40
|
-
bundle pristine.
|
38
|
+
debugging, the Rubygems gem pristine [GEMNAME] command may be
|
39
|
+
inconvenient. One can avoid waiting for gem pristine --all, and instead
|
40
|
+
run bundle pristine.
|
41
41
|
|
42
42
|
|
43
43
|
|
44
|
-
|
44
|
+
July 2020 BUNDLE-PRISTINE(1)
|
data/man/bundle-remove.1
CHANGED
data/man/bundle-remove.1.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
BUNDLE-REMOVE(1)
|
1
|
+
BUNDLE-REMOVE(1) BUNDLE-REMOVE(1)
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -9,17 +9,17 @@ SYNOPSIS
|
|
9
9
|
bundle remove [GEM [GEM ...]] [--install]
|
10
10
|
|
11
11
|
DESCRIPTION
|
12
|
-
Removes
|
13
|
-
|
14
|
-
printed. If
|
12
|
+
Removes the given gems from the Gemfile while ensuring that the
|
13
|
+
resulting Gemfile is still valid. If a gem cannot be removed, a warning
|
14
|
+
is printed. If a gem is already absent from the Gemfile, and error is
|
15
15
|
raised.
|
16
16
|
|
17
17
|
OPTIONS
|
18
18
|
--install
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
Runs bundle install after the given gems have been removed from
|
20
|
+
the Gemfile, which ensures that both the lockfile and the
|
21
|
+
installed gems on disk are also updated to remove the given
|
22
|
+
gem(s).
|
23
23
|
|
24
24
|
Example:
|
25
25
|
|
@@ -31,4 +31,4 @@ OPTIONS
|
|
31
31
|
|
32
32
|
|
33
33
|
|
34
|
-
|
34
|
+
July 2020 BUNDLE-REMOVE(1)
|
data/man/bundle-show.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-SHOW" "1" "
|
4
|
+
.TH "BUNDLE\-SHOW" "1" "July 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|
data/man/bundle-show.1.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
BUNDLE-SHOW(1)
|
1
|
+
BUNDLE-SHOW(1) BUNDLE-SHOW(1)
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -9,19 +9,19 @@ SYNOPSIS
|
|
9
9
|
bundle show [GEM] [--paths]
|
10
10
|
|
11
11
|
DESCRIPTION
|
12
|
-
Without
|
13
|
-
|
14
|
-
sorted by name.
|
12
|
+
Without the [GEM] option, show will print a list of the names and
|
13
|
+
versions of all gems that are required by your
|
14
|
+
[Gemfile(5)][Gemfile(5)], sorted by name.
|
15
15
|
|
16
|
-
Calling
|
16
|
+
Calling show with [GEM] will list the exact location of that gem on
|
17
17
|
your machine.
|
18
18
|
|
19
19
|
OPTIONS
|
20
20
|
--paths
|
21
|
-
|
22
|
-
|
21
|
+
List the paths of all gems that are required by your
|
22
|
+
[Gemfile(5)][Gemfile(5)], sorted by gem name.
|
23
23
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
|
27
|
+
July 2020 BUNDLE-SHOW(1)
|
data/man/bundle-update.1
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-UPDATE" "1" "
|
4
|
+
.TH "BUNDLE\-UPDATE" "1" "July 2020" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
data/man/bundle-update.1.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
BUNDLE-UPDATE(1)
|
1
|
+
BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -12,9 +12,9 @@ SYNOPSIS
|
|
12
12
|
|
13
13
|
DESCRIPTION
|
14
14
|
Update the gems specified (all gems, if --all flag is used), ignoring
|
15
|
-
the
|
16
|
-
|
17
|
-
the same exact gems and versions across machines.
|
15
|
+
the previously installed gems specified in the Gemfile.lock. In
|
16
|
+
general, you should use bundle install(1) bundle-install.1.html to
|
17
|
+
install the same exact gems and versions across machines.
|
18
18
|
|
19
19
|
You would use bundle update to explicitly update the version of a gem.
|
20
20
|
|
@@ -22,114 +22,114 @@ OPTIONS
|
|
22
22
|
--all Update all gems specified in Gemfile.
|
23
23
|
|
24
24
|
--group=<name>, -g=[<name>]
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
25
|
+
Only update the gems in the specified group. For instance, you
|
26
|
+
can update all gems in the development group with bundle update
|
27
|
+
--group development. You can also call bundle update rails
|
28
|
+
--group test to update the rails gem and all gems in the test
|
29
|
+
group, for example.
|
30
30
|
|
31
31
|
--source=<name>
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
The name of a :git or :path source used in the Gemfile(5). For
|
33
|
+
instance, with a :git source of
|
34
|
+
http://github.com/rails/rails.git, you would call bundle update
|
35
|
+
--source rails
|
36
36
|
|
37
37
|
--local
|
38
|
-
|
39
|
-
|
38
|
+
Do not attempt to fetch gems remotely and use the gem cache
|
39
|
+
instead.
|
40
40
|
|
41
41
|
--ruby Update the locked version of Ruby to the current version of
|
42
|
-
|
42
|
+
Ruby.
|
43
43
|
|
44
44
|
--bundler
|
45
|
-
|
46
|
-
|
45
|
+
Update the locked version of bundler to the invoked bundler
|
46
|
+
version.
|
47
47
|
|
48
48
|
--full-index
|
49
|
-
|
49
|
+
Fall back to using the single-file index of all gems.
|
50
50
|
|
51
51
|
--jobs=[<number>], -j[<number>]
|
52
|
-
|
52
|
+
Specify the number of jobs to run in parallel. The default is 1.
|
53
53
|
|
54
54
|
--retry=[<number>]
|
55
|
-
|
55
|
+
Retry failed network or git requests for number times.
|
56
56
|
|
57
57
|
--quiet
|
58
|
-
|
58
|
+
Only output warnings and errors.
|
59
59
|
|
60
60
|
--redownload
|
61
|
-
|
61
|
+
Force downloading every gem.
|
62
62
|
|
63
63
|
--patch
|
64
|
-
|
64
|
+
Prefer updating only to next patch version.
|
65
65
|
|
66
66
|
--minor
|
67
|
-
|
67
|
+
Prefer updating only to next minor version.
|
68
68
|
|
69
69
|
--major
|
70
|
-
|
70
|
+
Prefer updating to next major version (default).
|
71
71
|
|
72
72
|
--strict
|
73
|
-
|
74
|
-
|
73
|
+
Do not allow any gem to be updated past latest --patch | --minor
|
74
|
+
| --major.
|
75
75
|
|
76
76
|
--conservative
|
77
|
-
|
78
|
-
|
77
|
+
Use bundle install conservative update behavior and do not allow
|
78
|
+
shared dependencies to be updated.
|
79
79
|
|
80
80
|
UPDATING ALL GEMS
|
81
|
-
If you run bundle update --all,
|
82
|
-
installed gems
|
81
|
+
If you run bundle update --all, bundler will ignore any previously
|
82
|
+
installed gems and resolve all dependencies again based on the latest
|
83
83
|
versions of all gems available in the sources.
|
84
84
|
|
85
85
|
Consider the following Gemfile(5):
|
86
86
|
|
87
87
|
|
88
88
|
|
89
|
-
|
89
|
+
source "https://rubygems.org"
|
90
90
|
|
91
|
-
|
92
|
-
|
91
|
+
gem "rails", "3.0.0.rc"
|
92
|
+
gem "nokogiri"
|
93
93
|
|
94
94
|
|
95
95
|
|
96
96
|
When you run bundle install(1) bundle-install.1.html the first time,
|
97
|
-
bundler
|
97
|
+
bundler will resolve all of the dependencies, all the way down, and
|
98
98
|
install what you need:
|
99
99
|
|
100
100
|
|
101
101
|
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
102
|
+
Fetching gem metadata from https://rubygems.org/.........
|
103
|
+
Resolving dependencies...
|
104
|
+
Installing builder 2.1.2
|
105
|
+
Installing abstract 1.0.0
|
106
|
+
Installing rack 1.2.8
|
107
|
+
Using bundler 1.7.6
|
108
|
+
Installing rake 10.4.0
|
109
|
+
Installing polyglot 0.3.5
|
110
|
+
Installing mime-types 1.25.1
|
111
|
+
Installing i18n 0.4.2
|
112
|
+
Installing mini_portile 0.6.1
|
113
|
+
Installing tzinfo 0.3.42
|
114
|
+
Installing rack-mount 0.6.14
|
115
|
+
Installing rack-test 0.5.7
|
116
|
+
Installing treetop 1.4.15
|
117
|
+
Installing thor 0.14.6
|
118
|
+
Installing activesupport 3.0.0.rc
|
119
|
+
Installing erubis 2.6.6
|
120
|
+
Installing activemodel 3.0.0.rc
|
121
|
+
Installing arel 0.4.0
|
122
|
+
Installing mail 2.2.20
|
123
|
+
Installing activeresource 3.0.0.rc
|
124
|
+
Installing actionpack 3.0.0.rc
|
125
|
+
Installing activerecord 3.0.0.rc
|
126
|
+
Installing actionmailer 3.0.0.rc
|
127
|
+
Installing railties 3.0.0.rc
|
128
|
+
Installing rails 3.0.0.rc
|
129
|
+
Installing nokogiri 1.6.5
|
130
|
+
|
131
|
+
Bundle complete! 2 Gemfile dependencies, 26 gems total.
|
132
|
+
Use `bundle show [gemname]` to see where a bundled gem is installed.
|
133
133
|
|
134
134
|
|
135
135
|
|
@@ -146,13 +146,13 @@ UPDATING ALL GEMS
|
|
146
146
|
use.
|
147
147
|
|
148
148
|
However, from time to time, you might want to update the gems you are
|
149
|
-
using to the newest versions
|
150
|
-
|
149
|
+
using to the newest versions that still match the gems in your
|
150
|
+
Gemfile(5).
|
151
151
|
|
152
|
-
To
|
153
|
-
|
152
|
+
To do this, run bundle update --all, which will ignore the
|
153
|
+
Gemfile.lock, and resolve all the dependencies again. Keep in mind that
|
154
154
|
this process can result in a significantly different set of the 25
|
155
|
-
gems, based on the requirements of
|
155
|
+
gems, based on the requirements of new gems that the gem authors
|
156
156
|
released since the last time you ran bundle update --all.
|
157
157
|
|
158
158
|
UPDATING A LIST OF GEMS
|
@@ -164,7 +164,7 @@ UPDATING A LIST OF GEMS
|
|
164
164
|
version 1.4.4, and you want to update it without updating Rails and all
|
165
165
|
of its dependencies. To do this, run bundle update nokogiri.
|
166
166
|
|
167
|
-
Bundler will update nokogiri and any of
|
167
|
+
Bundler will update nokogiri and any of its dependencies, but leave
|
168
168
|
alone Rails and its dependencies.
|
169
169
|
|
170
170
|
OVERLAPPING DEPENDENCIES
|
@@ -174,34 +174,34 @@ OVERLAPPING DEPENDENCIES
|
|
174
174
|
|
175
175
|
|
176
176
|
|
177
|
-
|
177
|
+
source "https://rubygems.org"
|
178
178
|
|
179
|
-
|
180
|
-
|
179
|
+
gem "thin"
|
180
|
+
gem "rack-perftools-profiler"
|
181
181
|
|
182
182
|
|
183
183
|
|
184
|
-
The thin gem depends
|
184
|
+
The thin gem depends on rack >= 1.0, while rack-perftools-profiler
|
185
185
|
depends on rack ~> 1.0. If you run bundle install, you get:
|
186
186
|
|
187
187
|
|
188
188
|
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
189
|
+
Fetching source index for https://rubygems.org/
|
190
|
+
Installing daemons (1.1.0)
|
191
|
+
Installing eventmachine (0.12.10) with native extensions
|
192
|
+
Installing open4 (1.0.1)
|
193
|
+
Installing perftools.rb (0.4.7) with native extensions
|
194
|
+
Installing rack (1.2.1)
|
195
|
+
Installing rack-perftools_profiler (0.0.2)
|
196
|
+
Installing thin (1.2.7) with native extensions
|
197
|
+
Using bundler (1.0.0.rc.3)
|
198
198
|
|
199
199
|
|
200
200
|
|
201
201
|
In this case, the two gems have their own set of dependencies, but they
|
202
|
-
share rack in
|
202
|
+
share rack in common. If you run bundle update thin, bundler will
|
203
203
|
update daemons, eventmachine and rack, which are dependencies of thin,
|
204
|
-
but not open4 or
|
204
|
+
but not open4 or perftools.rb, which are dependencies of
|
205
205
|
rack-perftools_profiler. Note that bundle update thin will update rack
|
206
206
|
even though it's also a dependency of rack-perftools_profiler.
|
207
207
|
|
@@ -210,85 +210,85 @@ OVERLAPPING DEPENDENCIES
|
|
210
210
|
are also dependencies of another gem.
|
211
211
|
|
212
212
|
To prevent updating shared dependencies, prior to version 1.14 the only
|
213
|
-
option was the CONSERVATIVE
|
214
|
-
|
213
|
+
option was the CONSERVATIVE UPDATING behavior in bundle install(1)
|
214
|
+
bundle-install.1.html:
|
215
215
|
|
216
216
|
In this scenario, updating the thin version manually in the Gemfile(5),
|
217
217
|
and then running bundle install(1) bundle-install.1.html will only
|
218
|
-
update daemons
|
219
|
-
see the
|
220
|
-
|
218
|
+
update daemons and eventmachine, but not rack. For more information,
|
219
|
+
see the CONSERVATIVE UPDATING section of bundle install(1)
|
220
|
+
bundle-install.1.html.
|
221
221
|
|
222
|
-
Starting
|
223
|
-
|
222
|
+
Starting with 1.14, specifying the --conservative option will also
|
223
|
+
prevent shared dependencies from being updated.
|
224
224
|
|
225
225
|
PATCH LEVEL OPTIONS
|
226
|
-
Version 1.14 introduced 4 patch-level options that will
|
226
|
+
Version 1.14 introduced 4 patch-level options that will influence how
|
227
227
|
gem versions are resolved. One of the following options can be used:
|
228
228
|
--patch, --minor or --major. --strict can be added to further influence
|
229
229
|
resolution.
|
230
230
|
|
231
231
|
--patch
|
232
|
-
|
232
|
+
Prefer updating only to next patch version.
|
233
233
|
|
234
234
|
--minor
|
235
|
-
|
235
|
+
Prefer updating only to next minor version.
|
236
236
|
|
237
237
|
--major
|
238
|
-
|
238
|
+
Prefer updating to next major version (default).
|
239
239
|
|
240
240
|
--strict
|
241
|
-
|
242
|
-
|
241
|
+
Do not allow any gem to be updated past latest --patch | --minor
|
242
|
+
| --major.
|
243
243
|
|
244
|
-
When Bundler is resolving what versions
|
245
|
-
requirements in the
|
246
|
-
|
247
|
-
|
248
|
-
|
244
|
+
When Bundler is resolving what versions to use to satisfy declared
|
245
|
+
requirements in the Gemfile or in parent gems, it looks up all
|
246
|
+
available versions, filters out any versions that don't satisfy the
|
247
|
+
requirement, and then, by default, sorts them from newest to oldest,
|
248
|
+
considering them in that order.
|
249
249
|
|
250
|
-
Providing one of the patch level options (e.g.
|
250
|
+
Providing one of the patch level options (e.g. --patch) changes the
|
251
251
|
sort order of the satisfying versions, causing Bundler to consider the
|
252
252
|
latest --patch or --minor version available before other versions. Note
|
253
253
|
that versions outside the stated patch level could still be resolved to
|
254
254
|
if necessary to find a suitable dependency graph.
|
255
255
|
|
256
256
|
For example, if gem 'foo' is locked at 1.0.2, with no gem requirement
|
257
|
-
defined
|
257
|
+
defined in the Gemfile, and versions 1.0.3, 1.0.4, 1.1.0, 1.1.1, 2.0.0
|
258
258
|
all exist, the default order of preference by default (--major) will be
|
259
259
|
"2.0.0, 1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2".
|
260
260
|
|
261
|
-
If the
|
261
|
+
If the --patch option is used, the order of preference will change to
|
262
262
|
"1.0.4, 1.0.3, 1.0.2, 1.1.1, 1.1.0, 2.0.0".
|
263
263
|
|
264
264
|
If the --minor option is used, the order of preference will change to
|
265
265
|
"1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2, 2.0.0".
|
266
266
|
|
267
267
|
Combining the --strict option with any of the patch level options will
|
268
|
-
remove any versions beyond the scope of
|
268
|
+
remove any versions beyond the scope of the patch level option, to
|
269
269
|
ensure that no gem is updated that far.
|
270
270
|
|
271
271
|
To continue the previous example, if both --patch and --strict options
|
272
272
|
are used, the available versions for resolution would be "1.0.4, 1.0.3,
|
273
|
-
1.0.2".
|
273
|
+
1.0.2". If --minor and --strict are used, it would be "1.1.1, 1.1.0,
|
274
274
|
1.0.4, 1.0.3, 1.0.2".
|
275
275
|
|
276
|
-
Gem requirements as defined in the Gemfile will still
|
277
|
-
determining
|
278
|
-
|
279
|
-
thing as providing the --minor and --strict options.
|
276
|
+
Gem requirements as defined in the Gemfile will still be the first
|
277
|
+
determining factor for what versions are available. If the gem
|
278
|
+
requirement for foo in the Gemfile is '~> 1.0', that will accomplish
|
279
|
+
the same thing as providing the --minor and --strict options.
|
280
280
|
|
281
281
|
PATCH LEVEL EXAMPLES
|
282
282
|
Given the following gem specifications:
|
283
283
|
|
284
284
|
|
285
285
|
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
286
|
+
foo 1.4.3, requires: ~> bar 2.0
|
287
|
+
foo 1.4.4, requires: ~> bar 2.0
|
288
|
+
foo 1.4.5, requires: ~> bar 2.1
|
289
|
+
foo 1.5.0, requires: ~> bar 2.1
|
290
|
+
foo 1.5.1, requires: ~> bar 3.0
|
291
|
+
bar with versions 2.0.3, 2.0.4, 2.1.0, 2.1.1, 3.0.0
|
292
292
|
|
293
293
|
|
294
294
|
|
@@ -296,7 +296,7 @@ PATCH LEVEL EXAMPLES
|
|
296
296
|
|
297
297
|
|
298
298
|
|
299
|
-
|
299
|
+
gem 'foo'
|
300
300
|
|
301
301
|
|
302
302
|
|
@@ -304,9 +304,9 @@ PATCH LEVEL EXAMPLES
|
|
304
304
|
|
305
305
|
|
306
306
|
|
307
|
-
|
308
|
-
|
309
|
-
|
307
|
+
foo (1.4.3)
|
308
|
+
bar (~> 2.0)
|
309
|
+
bar (2.0.3)
|
310
310
|
|
311
311
|
|
312
312
|
|
@@ -314,13 +314,13 @@ PATCH LEVEL EXAMPLES
|
|
314
314
|
|
315
315
|
|
316
316
|
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
317
|
+
# Command Line Result
|
318
|
+
------------------------------------------------------------
|
319
|
+
1 bundle update --patch 'foo 1.4.5', 'bar 2.1.1'
|
320
|
+
2 bundle update --patch foo 'foo 1.4.5', 'bar 2.1.1'
|
321
|
+
3 bundle update --minor 'foo 1.5.1', 'bar 3.0.0'
|
322
|
+
4 bundle update --minor --strict 'foo 1.5.0', 'bar 2.1.1'
|
323
|
+
5 bundle update --patch --strict 'foo 1.4.4', 'bar 2.0.4'
|
324
324
|
|
325
325
|
|
326
326
|
|
@@ -348,43 +348,44 @@ RECOMMENDED WORKFLOW
|
|
348
348
|
|
349
349
|
o After you create your Gemfile(5) for the first time, run
|
350
350
|
|
351
|
-
|
351
|
+
$ bundle install
|
352
352
|
|
353
353
|
o Check the resulting Gemfile.lock into version control
|
354
354
|
|
355
|
-
|
355
|
+
$ git add Gemfile.lock
|
356
356
|
|
357
357
|
o When checking out this repository on another development machine,
|
358
|
-
|
358
|
+
run
|
359
359
|
|
360
|
-
|
360
|
+
$ bundle install
|
361
361
|
|
362
362
|
o When checking out this repository on a deployment machine, run
|
363
363
|
|
364
|
-
|
364
|
+
$ bundle install --deployment
|
365
365
|
|
366
|
-
o After
|
367
|
-
|
366
|
+
o After changing the Gemfile(5) to reflect a new or update
|
367
|
+
dependency, run
|
368
368
|
|
369
|
-
|
369
|
+
$ bundle install
|
370
370
|
|
371
371
|
o Make sure to check the updated Gemfile.lock into version control
|
372
372
|
|
373
|
-
|
373
|
+
$ git add Gemfile.lock
|
374
374
|
|
375
|
-
o If bundle
|
376
|
-
|
375
|
+
o If bundle install(1) bundle-install.1.html reports a conflict,
|
376
|
+
manually update the specific gems that you changed in the
|
377
|
+
Gemfile(5)
|
377
378
|
|
378
|
-
|
379
|
+
$ bundle update rails thin
|
379
380
|
|
380
|
-
o If
|
381
|
-
|
381
|
+
o If you want to update all the gems to the latest possible versions
|
382
|
+
that still match the gems listed in the Gemfile(5), run
|
382
383
|
|
383
|
-
|
384
|
+
$ bundle update --all
|
384
385
|
|
385
386
|
|
386
387
|
|
387
388
|
|
388
389
|
|
389
390
|
|
390
|
-
|
391
|
+
July 2020 BUNDLE-UPDATE(1)
|