bundler 1.16.0 → 1.16.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 +5 -5
- data/CHANGELOG.md +13 -0
- data/bundler.gemspec +57 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/gem.rb +1 -1
- data/lib/bundler/cli/init.rb +1 -5
- data/lib/bundler/cli/update.rb +3 -1
- data/lib/bundler/definition.rb +1 -1
- data/lib/bundler/resolver.rb +4 -1
- data/lib/bundler/source/rubygems.rb +2 -4
- data/lib/bundler/templates/.document +1 -0
- data/lib/bundler/templates/Executable +11 -3
- data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +0 -0
- data/lib/bundler/version.rb +1 -1
- data/man/bundle-add.1 +1 -1
- data/man/bundle-add.1.txt +11 -11
- data/man/bundle-binstubs.1.txt +19 -19
- data/man/bundle-check.1 +1 -1
- data/man/bundle-check.1.txt +15 -15
- data/man/bundle-clean.1 +1 -1
- data/man/bundle-clean.1.txt +10 -10
- data/man/bundle-config.1 +1 -1
- data/man/bundle-config.1.txt +194 -194
- data/man/bundle-exec.1 +1 -1
- data/man/bundle-exec.1.txt +62 -62
- data/man/bundle-gem.1 +1 -1
- data/man/bundle-gem.1.txt +38 -38
- data/man/bundle-info.1 +1 -1
- data/man/bundle-info.1.txt +8 -8
- data/man/bundle-init.1 +1 -1
- data/man/bundle-init.1.txt +12 -12
- data/man/bundle-inject.1 +1 -1
- data/man/bundle-inject.1.txt +9 -9
- data/man/bundle-install.1 +1 -1
- data/man/bundle-install.1.txt +165 -165
- data/man/bundle-list.1 +1 -1
- data/man/bundle-list.1.txt +8 -8
- data/man/bundle-lock.1 +1 -1
- data/man/bundle-lock.1.txt +46 -46
- data/man/bundle-open.1 +1 -1
- data/man/bundle-open.1.txt +7 -7
- data/man/bundle-outdated.1 +1 -1
- data/man/bundle-outdated.1.txt +33 -33
- data/man/bundle-package.1 +1 -1
- data/man/bundle-package.1.txt +35 -35
- data/man/bundle-platform.1 +1 -1
- data/man/bundle-platform.1.txt +13 -13
- data/man/bundle-pristine.1 +1 -1
- data/man/bundle-pristine.1.txt +19 -19
- data/man/bundle-show.1 +1 -1
- data/man/bundle-show.1.txt +11 -11
- data/man/bundle-update.1 +1 -1
- data/man/bundle-update.1.txt +98 -98
- data/man/bundle-viz.1 +1 -1
- data/man/bundle-viz.1.txt +16 -16
- data/man/bundle.1 +1 -1
- data/man/bundle.1.txt +50 -50
- data/man/gemfile.5 +1 -1
- data/man/gemfile.5.txt +200 -200
- metadata +5 -3
data/man/bundle-platform.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\-PLATFORM" "1" "
|
4
|
+
.TH "BUNDLE\-PLATFORM" "1" "February 2017" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
data/man/bundle-platform.1.txt
CHANGED
@@ -2,14 +2,14 @@ BUNDLE-PLATFORM(1) BUNDLE-PLATFORM(1)
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
NAME
|
6
|
+
bundle-platform - Displays platform compatibility information
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
SYNOPSIS
|
9
|
+
bundle platform [--ruby]
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
DESCRIPTION
|
12
|
+
platform will display information from your Gemfile, Gemfile.lock, and
|
13
13
|
Ruby VM about your platform.
|
14
14
|
|
15
15
|
For instance, using this Gemfile(5):
|
@@ -24,7 +24,7 @@ BUNDLE-PLATFORM(1) BUNDLE-PLATFORM(1)
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
If you run
|
27
|
+
If you run bundle platform on Ruby 1.9.3, it will display the following
|
28
28
|
output:
|
29
29
|
|
30
30
|
|
@@ -41,17 +41,17 @@ BUNDLE-PLATFORM(1) BUNDLE-PLATFORM(1)
|
|
41
41
|
|
42
42
|
|
43
43
|
|
44
|
-
|
45
|
-
the
|
46
|
-
you know if the
|
44
|
+
platform will list all the platforms in your Gemfile.lock as well as
|
45
|
+
the ruby directive if applicable from your Gemfile(5). It will also let
|
46
|
+
you know if the ruby directive requirement has been met. If ruby direc-
|
47
47
|
tive doesn't match the running Ruby VM, it will tell you what part does
|
48
48
|
not.
|
49
49
|
|
50
|
-
|
51
|
-
|
50
|
+
OPTIONS
|
51
|
+
--ruby It will display the ruby directive information, so you don't
|
52
52
|
have to parse it from the Gemfile(5).
|
53
53
|
|
54
54
|
|
55
55
|
|
56
56
|
|
57
|
-
|
57
|
+
February 2017 BUNDLE-PLATFORM(1)
|
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" "August 2017" "" ""
|
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
@@ -2,43 +2,43 @@ BUNDLE-PRISTINE(1) BUNDLE-PRISTINE(1)
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
NAME
|
6
|
+
bundle-pristine - Restores installed gems to their pristine condition
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
SYNOPSIS
|
9
|
+
bundle pristine
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
DESCRIPTION
|
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
|
|
16
|
-
For further explanation,
|
17
|
-
disk. In other words, this command utilizes the local
|
16
|
+
For further explanation, bundle pristine ignores unpacked files on
|
17
|
+
disk. In other words, this command utilizes the local .gem cache or the
|
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
|
-
|
21
|
+
pristine. One also cannot use bundle pristine on gems with a 'path'
|
22
22
|
option in the Gemfile, because bundler has no original copy it can
|
23
23
|
restore from.
|
24
24
|
|
25
|
-
When is it practical to use
|
25
|
+
When is it practical to use bundle pristine?
|
26
26
|
|
27
|
-
It comes in handy when a developer is debugging a gem.
|
27
|
+
It comes in handy when a developer is debugging a gem. bundle pristine
|
28
28
|
is a great way to get rid of experimental changes to a gem that one may
|
29
29
|
not want.
|
30
30
|
|
31
|
-
Why use
|
31
|
+
Why use bundle pristine over gem pristine --all?
|
32
32
|
|
33
|
-
Both commands are very similar. For context:
|
34
|
-
arguments, cleans all gems from the lockfile. Meanwhile,
|
35
|
-
|
33
|
+
Both commands are very similar. For context: bundle pristine, without
|
34
|
+
arguments, cleans all gems from the lockfile. Meanwhile, gem pristine
|
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, the Rubygems
|
39
|
-
nient. One can avoid waiting for
|
40
|
-
|
38
|
+
debugging, the Rubygems gem pristine [GEMNAME] command may be inconve-
|
39
|
+
nient. One can avoid waiting for gem pristine --all, and instead run
|
40
|
+
bundle pristine.
|
41
41
|
|
42
42
|
|
43
43
|
|
44
|
-
|
44
|
+
August 2017 BUNDLE-PRISTINE(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" "February 2017" "" ""
|
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
@@ -2,24 +2,24 @@ BUNDLE-SHOW(1) BUNDLE-SHOW(1)
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
NAME
|
6
|
+
bundle-show - Shows all the gems in your bundle, or the path to a gem
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
SYNOPSIS
|
9
|
+
bundle show [GEM] [--paths]
|
10
10
|
|
11
|
-
|
12
|
-
Without the [GEM] option,
|
13
|
-
sions of all gems that are required by your
|
11
|
+
DESCRIPTION
|
12
|
+
Without the [GEM] option, show will print a list of the names and ver-
|
13
|
+
sions of all gems that are required by your Gemfile(5).
|
14
14
|
|
15
15
|
Calling show with [GEM] will list the exact location of that gem on
|
16
16
|
your machine.
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
List the paths of all gems that are required by your
|
18
|
+
OPTIONS
|
19
|
+
--paths
|
20
|
+
List the paths of all gems that are required by your Gemfile(5).
|
21
21
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
|
25
|
+
February 2017 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 2017" "" ""
|
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
@@ -2,81 +2,81 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
NAME
|
6
|
+
bundle-update - Update your gems to the latest available versions
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
SYNOPSIS
|
9
|
+
bundle update *gems [--group=NAME] [--source=NAME] [--local] [--ruby]
|
10
10
|
[--bundler[=VERSION]] [--full-index] [--jobs=JOBS] [--quiet] [--force]
|
11
11
|
[--patch|--minor|--major] [--strict] [--conservative]
|
12
12
|
|
13
|
-
|
13
|
+
DESCRIPTION
|
14
14
|
Update the gems specified (all gems, if none are specified), ignoring
|
15
|
-
the previously installed gems specified in the
|
15
|
+
the previously installed gems specified in the Gemfile.lock. In gen-
|
16
16
|
eral, you should use [bundle install(1)][bundle-install] to install the
|
17
17
|
same exact gems and versions across machines.
|
18
18
|
|
19
|
-
You would use
|
19
|
+
You would use bundle update to explicitly update the version of a gem.
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
Only
|
24
|
-
can
|
25
|
-
|
26
|
-
|
21
|
+
OPTIONS
|
22
|
+
--group=<name>, -g=[<name>]
|
23
|
+
Only update the gems in the specified group. For instance, you
|
24
|
+
can update all gems in the development group with bundle update
|
25
|
+
--group development. You can also call bundle update rails
|
26
|
+
--group test to update the rails gem and all gems in the test
|
27
27
|
group, for example.
|
28
28
|
|
29
|
-
|
30
|
-
The
|
31
|
-
instance,
|
32
|
-
|
33
|
-
|
29
|
+
--source=<name>
|
30
|
+
The name of a :git or :path source used in the Gemfile(5). For
|
31
|
+
instance, with a :git source of
|
32
|
+
http://github.com/rails/rails.git, you would call bundle update
|
33
|
+
--source rails
|
34
34
|
|
35
|
-
|
36
|
-
Do
|
35
|
+
--local
|
36
|
+
Do not attempt to fetch gems remotely and use the gem cache
|
37
37
|
instead.
|
38
38
|
|
39
|
-
|
39
|
+
--ruby Update the locked version of Ruby to the current version of
|
40
40
|
Ruby.
|
41
41
|
|
42
|
-
|
42
|
+
--bundler
|
43
43
|
Update the locked version of bundler to the invoked bundler ver-
|
44
44
|
sion.
|
45
45
|
|
46
|
-
|
46
|
+
--full-index
|
47
47
|
Fall back to using the single-file index of all gems.
|
48
48
|
|
49
|
-
|
50
|
-
Specify the number of jobs to run in parallel. The default is
|
49
|
+
--jobs=[<number>], -j[<number>]
|
50
|
+
Specify the number of jobs to run in parallel. The default is 1.
|
51
51
|
|
52
|
-
|
53
|
-
Retry failed network or git requests for
|
52
|
+
--retry=[<number>]
|
53
|
+
Retry failed network or git requests for number times.
|
54
54
|
|
55
|
-
|
55
|
+
--quiet
|
56
56
|
Only output warnings and errors.
|
57
57
|
|
58
|
-
|
58
|
+
--force
|
59
59
|
Force downloading every gem.
|
60
60
|
|
61
|
-
|
61
|
+
--patch
|
62
62
|
Prefer updating only to next patch version.
|
63
63
|
|
64
|
-
|
64
|
+
--minor
|
65
65
|
Prefer updating only to next minor version.
|
66
66
|
|
67
|
-
|
67
|
+
--major
|
68
68
|
Prefer updating to next major version (default).
|
69
69
|
|
70
|
-
|
71
|
-
Do not allow any gem to be updated past latest
|
72
|
-
|
|
70
|
+
--strict
|
71
|
+
Do not allow any gem to be updated past latest --patch | --minor
|
72
|
+
| --major.
|
73
73
|
|
74
|
-
|
74
|
+
--conservative
|
75
75
|
Use bundle install conservative update behavior and do not allow
|
76
76
|
shared dependencies to be updated.
|
77
77
|
|
78
|
-
|
79
|
-
If you run
|
78
|
+
UPDATING ALL GEMS
|
79
|
+
If you run bundle update with no parameters, bundler will ignore any
|
80
80
|
previously installed gems and resolve all dependencies again based on
|
81
81
|
the latest versions of all gems available in the sources.
|
82
82
|
|
@@ -133,41 +133,41 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
|
133
133
|
|
134
134
|
As you can see, even though you have two gems in the Gemfile(5), your
|
135
135
|
application needs 26 different gems in order to run. Bundler remembers
|
136
|
-
the exact versions it installed in
|
136
|
+
the exact versions it installed in Gemfile.lock. The next time you run
|
137
137
|
[bundle install(1)][bundle-install], bundler skips the dependency reso-
|
138
138
|
lution and installs the same gems as it installed last time.
|
139
139
|
|
140
|
-
After checking in the
|
140
|
+
After checking in the Gemfile.lock into version control and cloning it
|
141
141
|
on another machine, running [bundle install(1)][bundle-install] will
|
142
|
-
|
143
|
-
worry that a new release of
|
142
|
+
still install the gems that you installed last time. You don't need to
|
143
|
+
worry that a new release of erubis or mail changes the gems you use.
|
144
144
|
|
145
145
|
However, from time to time, you might want to update the gems you are
|
146
146
|
using to the newest versions that still match the gems in your Gem-
|
147
147
|
file(5).
|
148
148
|
|
149
|
-
To do this, run
|
149
|
+
To do this, run bundle update, which will ignore the Gemfile.lock, and
|
150
150
|
resolve all the dependencies again. Keep in mind that this process can
|
151
151
|
result in a significantly different set of the 25 gems, based on the
|
152
152
|
requirements of new gems that the gem authors released since the last
|
153
|
-
time you ran
|
153
|
+
time you ran bundle update.
|
154
154
|
|
155
|
-
|
155
|
+
UPDATING A LIST OF GEMS
|
156
156
|
Sometimes, you want to update a single gem in the Gemfile(5), and leave
|
157
157
|
the rest of the gems that you specified locked to the versions in the
|
158
|
-
|
158
|
+
Gemfile.lock.
|
159
159
|
|
160
|
-
For instance, in the scenario above, imagine that
|
161
|
-
version
|
162
|
-
of its dependencies. To do this, run
|
160
|
+
For instance, in the scenario above, imagine that nokogiri releases
|
161
|
+
version 1.4.4, and you want to update it without updating Rails and all
|
162
|
+
of its dependencies. To do this, run bundle update nokogiri.
|
163
163
|
|
164
|
-
Bundler will update
|
164
|
+
Bundler will update nokogiri and any of its dependencies, but leave
|
165
165
|
alone Rails and its dependencies.
|
166
166
|
|
167
|
-
|
167
|
+
OVERLAPPING DEPENDENCIES
|
168
168
|
Sometimes, multiple gems declared in your Gemfile(5) are satisfied by
|
169
169
|
the same second-level dependency. For instance, consider the case of
|
170
|
-
|
170
|
+
thin and rack-perftools-profiler.
|
171
171
|
|
172
172
|
|
173
173
|
|
@@ -178,8 +178,8 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
|
178
178
|
|
179
179
|
|
180
180
|
|
181
|
-
The
|
182
|
-
depends on
|
181
|
+
The thin gem depends on rack >= 1.0, while rack-perftools-profiler
|
182
|
+
depends on rack ~> 1.0. If you run bundle install, you get:
|
183
183
|
|
184
184
|
|
185
185
|
|
@@ -196,46 +196,46 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
|
196
196
|
|
197
197
|
|
198
198
|
In this case, the two gems have their own set of dependencies, but they
|
199
|
-
share
|
200
|
-
update
|
201
|
-
but not
|
202
|
-
|
203
|
-
even though it's
|
199
|
+
share rack in common. If you run bundle update thin, bundler will
|
200
|
+
update daemons, eventmachine and rack, which are dependencies of thin,
|
201
|
+
but not open4 or perftools.rb, which are dependencies of
|
202
|
+
rack-perftools_profiler. Note that bundle update thin will update rack
|
203
|
+
even though it's also a dependency of rack-perftools_profiler.
|
204
204
|
|
205
|
-
In short, by default, when you update a gem using
|
205
|
+
In short, by default, when you update a gem using bundle update,
|
206
206
|
bundler will update all dependencies of that gem, including those that
|
207
207
|
are also dependencies of another gem.
|
208
208
|
|
209
209
|
To prevent updating shared dependencies, prior to version 1.14 the only
|
210
|
-
option was the
|
210
|
+
option was the CONSERVATIVE UPDATING behavior in [bundle
|
211
211
|
install(1)][bundle-install]:
|
212
212
|
|
213
|
-
In this scenario, updating the
|
213
|
+
In this scenario, updating the thin version manually in the Gemfile(5),
|
214
214
|
and then running [bundle install(1)][bundle-install] will only update
|
215
|
-
|
216
|
-
|
215
|
+
daemons and eventmachine, but not rack. For more information, see the
|
216
|
+
CONSERVATIVE UPDATING section of [bundle install(1)][bundle-install].
|
217
217
|
|
218
|
-
Starting with 1.14, specifying the
|
218
|
+
Starting with 1.14, specifying the --conservative option will also pre-
|
219
219
|
vent shared dependencies from being updated.
|
220
220
|
|
221
|
-
|
221
|
+
PATCH LEVEL OPTIONS
|
222
222
|
Version 1.14 introduced 4 patch-level options that will influence how
|
223
223
|
gem versions are resolved. One of the following options can be used:
|
224
|
-
|
224
|
+
--patch, --minor or --major. --strict can be added to further influence
|
225
225
|
resolution.
|
226
226
|
|
227
|
-
|
227
|
+
--patch
|
228
228
|
Prefer updating only to next patch version.
|
229
229
|
|
230
|
-
|
230
|
+
--minor
|
231
231
|
Prefer updating only to next minor version.
|
232
232
|
|
233
|
-
|
233
|
+
--major
|
234
234
|
Prefer updating to next major version (default).
|
235
235
|
|
236
|
-
|
237
|
-
Do not allow any gem to be updated past latest
|
238
|
-
|
|
236
|
+
--strict
|
237
|
+
Do not allow any gem to be updated past latest --patch | --minor
|
238
|
+
| --major.
|
239
239
|
|
240
240
|
When Bundler is resolving what versions to use to satisfy declared
|
241
241
|
requirements in the Gemfile or in parent gems, it looks up all avail-
|
@@ -243,38 +243,38 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
|
243
243
|
ment, and then, by default, sorts them from newest to oldest, consider-
|
244
244
|
ing them in that order.
|
245
245
|
|
246
|
-
Providing one of the patch level options (e.g.
|
246
|
+
Providing one of the patch level options (e.g. --patch) changes the
|
247
247
|
sort order of the satisfying versions, causing Bundler to consider the
|
248
|
-
latest
|
248
|
+
latest --patch or --minor version available before other versions. Note
|
249
249
|
that versions outside the stated patch level could still be resolved to
|
250
250
|
if necessary to find a suitable dependency graph.
|
251
251
|
|
252
252
|
For example, if gem 'foo' is locked at 1.0.2, with no gem requirement
|
253
253
|
defined in the Gemfile, and versions 1.0.3, 1.0.4, 1.1.0, 1.1.1, 2.0.0
|
254
|
-
all exist, the default order of preference by default (
|
254
|
+
all exist, the default order of preference by default (--major) will be
|
255
255
|
"2.0.0, 1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2".
|
256
256
|
|
257
|
-
If the
|
257
|
+
If the --patch option is used, the order of preference will change to
|
258
258
|
"1.0.4, 1.0.3, 1.0.2, 1.1.1, 1.1.0, 2.0.0".
|
259
259
|
|
260
|
-
If the
|
260
|
+
If the --minor option is used, the order of preference will change to
|
261
261
|
"1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2, 2.0.0".
|
262
262
|
|
263
|
-
Combining the
|
263
|
+
Combining the --strict option with any of the patch level options will
|
264
264
|
remove any versions beyond the scope of the patch level option, to
|
265
265
|
ensure that no gem is updated that far.
|
266
266
|
|
267
|
-
To continue the previous example, if both
|
267
|
+
To continue the previous example, if both --patch and --strict options
|
268
268
|
are used, the available versions for resolution would be "1.0.4, 1.0.3,
|
269
|
-
1.0.2". If
|
269
|
+
1.0.2". If --minor and --strict are used, it would be "1.1.1, 1.1.0,
|
270
270
|
1.0.4, 1.0.3, 1.0.2".
|
271
271
|
|
272
272
|
Gem requirements as defined in the Gemfile will still be the first
|
273
273
|
determining factor for what versions are available. If the gem require-
|
274
|
-
ment for
|
275
|
-
thing as providing the
|
274
|
+
ment for foo in the Gemfile is '~> 1.0', that will accomplish the same
|
275
|
+
thing as providing the --minor and --strict options.
|
276
276
|
|
277
|
-
|
277
|
+
PATCH LEVEL EXAMPLES
|
278
278
|
Given the following gem specifications:
|
279
279
|
|
280
280
|
|
@@ -324,33 +324,33 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
|
324
324
|
the dependency from foo 1.4.5 required it.
|
325
325
|
|
326
326
|
In case 2, only foo is requested to be unlocked, but bar is also
|
327
|
-
allowed
|
327
|
+
allowed to move because it's not a declared dependency in the Gemfile.
|
328
328
|
|
329
|
-
In
|
330
|
-
is
|
329
|
+
In case 3, bar goes up a whole major release, because a minor increase
|
330
|
+
is preferred now for foo, and when it goes to 1.5.1, it requires 3.0.0
|
331
331
|
of bar.
|
332
332
|
|
333
333
|
In case 4, foo is preferred up to a minor version, but 1.5.1 won't work
|
334
|
-
because
|
334
|
+
because the --strict flag removes bar 3.0.0 from consideration since
|
335
335
|
it's a major increment.
|
336
336
|
|
337
|
-
In
|
338
|
-
from
|
337
|
+
In case 5, both foo and bar have any minor or major increments removed
|
338
|
+
from consideration because of the --strict flag, so the most they can
|
339
339
|
move is up to 1.4.4 and 2.0.4.
|
340
340
|
|
341
|
-
|
342
|
-
In
|
341
|
+
RECOMMENDED WORKFLOW
|
342
|
+
In general, when working with an application managed with bundler, you
|
343
343
|
should use the following workflow:
|
344
344
|
|
345
345
|
o After you create your Gemfile(5) for the first time, run
|
346
346
|
|
347
347
|
$ bundle install
|
348
348
|
|
349
|
-
o Check the resulting
|
349
|
+
o Check the resulting Gemfile.lock into version control
|
350
350
|
|
351
351
|
$ git add Gemfile.lock
|
352
352
|
|
353
|
-
o When
|
353
|
+
o When checking out this repository on another development machine,
|
354
354
|
run
|
355
355
|
|
356
356
|
$ bundle install
|
@@ -359,12 +359,12 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
|
359
359
|
|
360
360
|
$ bundle install --deployment
|
361
361
|
|
362
|
-
o After
|
362
|
+
o After changing the Gemfile(5) to reflect a new or update depen-
|
363
363
|
dency, run
|
364
364
|
|
365
365
|
$ bundle install
|
366
366
|
|
367
|
-
o Make sure to check the updated
|
367
|
+
o Make sure to check the updated Gemfile.lock into version control
|
368
368
|
|
369
369
|
$ git add Gemfile.lock
|
370
370
|
|
@@ -373,7 +373,7 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
|
373
373
|
|
374
374
|
$ bundle update rails thin
|
375
375
|
|
376
|
-
o If
|
376
|
+
o If you want to update all the gems to the latest possible versions
|
377
377
|
that still match the gems listed in the Gemfile(5), run
|
378
378
|
|
379
379
|
$ bundle update
|
@@ -383,4 +383,4 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
|
|
383
383
|
|
384
384
|
|
385
385
|
|
386
|
-
|
386
|
+
July 2017 BUNDLE-UPDATE(1)
|