BUNDLE-LOCK(1) General Commands Manual BUNDLE-LOCK(1)

# [NAME](#NAME)

**bundle-lock** - Creates / Updates a lockfile without installing

# [SYNOPSIS](#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] \[--cooldown=NUMBER]

# [DESCRIPTION](#DESCRIPTION)

Lock the gems specified in Gemfile.

# [OPTIONS](#OPTIONS)

[**--update\[=&lt;list&gt;\]**](#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\]**](#bundler_=BUNDLER_)

Update the locked version of bundler. BUNDLER can be a version such as **4.0.20**, or a requirement such as **"&gt; 0.a"**. With no argument, update to the latest released version, which never selects a prerelease.

[**--local**](#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**](#print)

Prints the lockfile to STDOUT instead of writing to the file system.

[**--lockfile=LOCKFILE**](#lockfile=LOCKFILE)

The path where the lockfile should be written to.

[**--full-index**](#full)

Fall back to using the single-file index of all gems.

[**--gemfile=GEMFILE**](#gemfile=GEMFILE)

Use the specified gemfile instead of \[[**Gemfile(5)**](/man/os/ruby4.0-bundler/Gemfile.5)]\[[Gemfile(5)](/man/os/ruby4.0-bundler/Gemfile.5)].

[**--add-checksums**](#add)

Add checksums to the lockfile.

[**--add-platform=&lt;list&gt;**](#add~2)

Add a new platform to the lockfile, re-resolving for the addition of that platform.

[**--remove-platform=&lt;list&gt;**](#remove)

Remove a platform from the lockfile.

[**--normalize-platforms**](#normalize)

Normalize lockfile platforms.

[**--patch**](#patch)

If updating, prefer updating only to next patch version.

[**--minor**](#minor)

If updating, prefer updating only to next minor version.

[**--major**](#major)

If updating, prefer updating to latest major version (default).

[**--pre**](#pre)

If updating, always choose the highest allowed version, regardless of prerelease status.

[**--strict**](#strict)

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

[**--conservative**](#conservative)

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

[**--cooldown=&lt;number&gt;**](#cooldown=_number_)

Only consider gem versions published at least *number* days ago when resolving. Pass **0** to disable cooldown for this run, overriding any per-source or global configuration. See **cooldown** in [bundle-config(1)](/man/os/ruby4.0-bundler/bundle-config.1).

# [UPDATING ALL GEMS](#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](#UPDATING_A_LIST_OF_GEMS)

Sometimes, you want to update a single gem in the [Gemfile(5)](/man/os/ruby4.0-bundler/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](#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](#PATCH_LEVEL_OPTIONS)

See bundle [update(1)](/man/os/ruby4.0-bundler/update.1) *bundle-update.1.html* for details.

April 2026

---

Document: bundle-lock(1) from ruby4.0-bundler 4.0.23-r0 (Chainguard OS)
Source: https://github.com/rubygems/rubygems
