| CARGO-UPDATE(1) |
| |
| NAME |
| cargo-update — Update dependencies as recorded in the local lock file |
| |
| SYNOPSIS |
| cargo update [options] spec |
| |
| DESCRIPTION |
| This command will update dependencies in the Cargo.lock file to the |
| latest version. If the Cargo.lock file does not exist, it will be |
| created with the latest available versions. |
| |
| OPTIONS |
| Update Options |
| spec… |
| Update only the specified packages. This flag may be specified |
| multiple times. See cargo-pkgid(1) for the SPEC format. |
| |
| If packages are specified with spec, then a conservative update of |
| the lockfile will be performed. This means that only the dependency |
| specified by SPEC will be updated. Its transitive dependencies will |
| be updated only if SPEC cannot be updated without updating |
| dependencies. All other dependencies will remain locked at their |
| currently recorded versions. |
| |
| If spec is not specified, all dependencies are updated. |
| |
| --recursive |
| When used with spec, dependencies of spec are forced to update as |
| well. Cannot be used with --precise. |
| |
| --precise precise |
| When used with spec, allows you to specify a specific version number |
| to set the package to. If the package comes from a git repository, |
| this can be a git revision (such as a SHA hash or tag). |
| |
| While not recommended, you can specify a yanked version of a package |
| (nightly only). When possible, try other non-yanked |
| SemVer-compatible versions or seek help from the maintainers of the |
| package. |
| |
| -w, --workspace |
| Attempt to update only packages defined in the workspace. Other |
| packages are updated only if they don’t already exist in the |
| lockfile. This option is useful for updating Cargo.lock after |
| you’ve changed version numbers in Cargo.toml. |
| |
| --dry-run |
| Displays what would be updated, but doesn’t actually write the |
| lockfile. |
| |
| Display Options |
| -v, --verbose |
| Use verbose output. May be specified twice for “very verbose” |
| output which includes extra output such as dependency warnings and |
| build script output. May also be specified with the term.verbose |
| config value |
| <https://doc.rust-lang.org/cargo/reference/config.html>. |
| |
| -q, --quiet |
| Do not print cargo log messages. May also be specified with the |
| term.quiet config value |
| <https://doc.rust-lang.org/cargo/reference/config.html>. |
| |
| --color when |
| Control when colored output is used. Valid values: |
| |
| o auto (default): Automatically detect if color support is |
| available on the terminal. |
| |
| o always: Always display colors. |
| |
| o never: Never display colors. |
| |
| May also be specified with the term.color config value |
| <https://doc.rust-lang.org/cargo/reference/config.html>. |
| |
| Manifest Options |
| --manifest-path path |
| Path to the Cargo.toml file. By default, Cargo searches for the |
| Cargo.toml file in the current directory or any parent directory. |
| |
| --frozen, --locked |
| Either of these flags requires that the Cargo.lock file is |
| up-to-date. If the lock file is missing, or it needs to be updated, |
| Cargo will exit with an error. The --frozen flag also prevents Cargo |
| from attempting to access the network to determine if it is |
| out-of-date. |
| |
| These may be used in environments where you want to assert that the |
| Cargo.lock file is up-to-date (such as a CI build) or want to avoid |
| network access. |
| |
| --offline |
| Prevents Cargo from accessing the network for any reason. Without |
| this flag, Cargo will stop with an error if it needs to access the |
| network and the network is not available. With this flag, Cargo will |
| attempt to proceed without the network if possible. |
| |
| Beware that this may result in different dependency resolution than |
| online mode. Cargo will restrict itself to crates that are |
| downloaded locally, even if there might be a newer version as |
| indicated in the local copy of the index. See the cargo-fetch(1) |
| command to download dependencies before going offline. |
| |
| May also be specified with the net.offline config value |
| <https://doc.rust-lang.org/cargo/reference/config.html>. |
| |
| Common Options |
| +toolchain |
| If Cargo has been installed with rustup, and the first argument to |
| cargo begins with +, it will be interpreted as a rustup toolchain |
| name (such as +stable or +nightly). See the rustup documentation |
| <https://rust-lang.github.io/rustup/overrides.html> for more |
| information about how toolchain overrides work. |
| |
| --config KEY=VALUE or PATH |
| Overrides a Cargo configuration value. The argument should be in |
| TOML syntax of KEY=VALUE, or provided as a path to an extra |
| configuration file. This flag may be specified multiple times. See |
| the command-line overrides section |
| <https://doc.rust-lang.org/cargo/reference/config.html#command-line-overrides> |
| for more information. |
| |
| -C PATH |
| Changes the current working directory before executing any specified |
| operations. This affects things like where cargo looks by default |
| for the project manifest (Cargo.toml), as well as the directories |
| searched for discovering .cargo/config.toml, for example. This |
| option must appear before the command name, for example cargo -C |
| path/to/my-project build. |
| |
| This option is only available on the nightly channel |
| <https://doc.rust-lang.org/book/appendix-07-nightly-rust.html> and |
| requires the -Z unstable-options flag to enable (see #10098 |
| <https://github.com/rust-lang/cargo/issues/10098>). |
| |
| -h, --help |
| Prints help information. |
| |
| -Z flag |
| Unstable (nightly-only) flags to Cargo. Run cargo -Z help for |
| details. |
| |
| ENVIRONMENT |
| See the reference |
| <https://doc.rust-lang.org/cargo/reference/environment-variables.html> |
| for details on environment variables that Cargo reads. |
| |
| EXIT STATUS |
| o 0: Cargo succeeded. |
| |
| o 101: Cargo failed to complete. |
| |
| EXAMPLES |
| 1. Update all dependencies in the lockfile: |
| |
| cargo update |
| |
| 2. Update only specific dependencies: |
| |
| cargo update foo bar |
| |
| 3. Set a specific dependency to a specific version: |
| |
| cargo update foo --precise 1.2.3 |
| |
| SEE ALSO |
| cargo(1), cargo-generate-lockfile(1) |
| |