summaryrefslogtreecommitdiff
path: root/lib/bundler/man/bundle-lock.1.ronn
blob: 6d3e63c982c500ebf1252e362369d90338100eb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
bundle-lock(1) -- Creates / Updates a lockfile without installing
=================================================================

## SYNOPSIS

`bundle lock` [--update]
              [--bundler[=BUNDLER]]
              [--local]
              [--print]
              [--lockfile=PATH]
              [--full-index]
              [--gemfile=GEMFILE]
              [--add-checksums]
              [--add-platform]
              [--remove-platform]
              [--normalize-platforms]
              [--patch]
              [--minor]
              [--major]
              [--pre]
              [--strict]
              [--conservative]

## DESCRIPTION

Lock the gems specified in Gemfile.

## OPTIONS

* `--update[=<list>]`:
  Ignores the existing lockfile. Resolve then updates lockfile. Taking a list
  of gems or updating all gems if no list is given.

* `--bundler[=BUNDLER]`:
  Update the locked version of bundler to the given version or the latest
  version if no version is given.

* `--local`:
  Do not attempt to connect to `rubygems.org`. Instead, Bundler will use the
  gems already present in Rubygems' cache or in `vendor/cache`. Note that if a
  appropriate platform-specific gem exists on `rubygems.org` it will not be
  found.

* `--print`:
  Prints the lockfile to STDOUT instead of writing to the file system.

* `--lockfile=LOCKFILE`:
  The path where the lockfile should be written to.

* `--full-index`:
  Fall back to using the single-file index of all gems.

* `--gemfile=GEMFILE`:
  Use the specified gemfile instead of [`Gemfile(5)`][Gemfile(5)].

* `--add-checksums`:
  Add checksums to the lockfile.

* `--add-platform=<list>`:
  Add a new platform to the lockfile, re-resolving for the addition of that
  platform.

* `--remove-platform=<list>`:
  Remove a platform from the lockfile.

* `--normalize-platforms`:
  Normalize lockfile platforms.

* `--patch`:
  If updating, prefer updating only to next patch version.

* `--minor`:
  If updating, prefer updating only to next minor version.

* `--major`:
  If updating, prefer updating to next major version (default).

* `--pre`:
  If updating, always choose the highest allowed version, regardless of prerelease status.

* `--strict`:
  If updating, do not allow any gem to be updated past latest --patch | --minor | --major.

* `--conservative`:
  If updating, use bundle install conservative update behavior and do not allow shared dependencies to be updated.

## UPDATING ALL GEMS

If you run `bundle lock` with `--update` option without list of gems, bundler will
ignore any previously installed gems and resolve all dependencies again based
on the latest versions of all gems available in the sources.

## UPDATING A LIST OF GEMS

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 `Gemfile.lock`.

For instance, you only want to update `nokogiri`, run `bundle lock --update nokogiri`.

Bundler will update `nokogiri` and any of its dependencies, but leave the rest of the
gems that you specified locked to the versions in the `Gemfile.lock`.

## SUPPORTING OTHER PLATFORMS

If you want your bundle to support platforms other than the one you're running
locally, you can run `bundle lock --add-platform PLATFORM` to add PLATFORM to
the lockfile, force bundler to re-resolve and consider the new platform when
picking gems, all without needing to have a machine that matches PLATFORM handy
to install those platform-specific gems on.

For a full explanation of gem platforms, see `gem help platform`.

## PATCH LEVEL OPTIONS

See [bundle update(1)](bundle-update.1.html) for details.