| CARGO-VENDOR(1) | General Commands Manual | CARGO-VENDOR(1) |
NAME
cargo-vendor — Vendor all dependencies locally
SYNOPSIS
cargo vendor [options] [path]
DESCRIPTION
This cargo subcommand will vendor all crates.io and git dependencies for a project into the specified directory at <path>. After this command completes the vendor directory specified by <path> will contain all remote sources from dependencies specified. Additional manifests beyond the default one can be specified with the -s option.
The configuration necessary to use the vendored sources would be printed to stdout after cargo vendor completes the vendoring process. You will need to add or redirect it to your Cargo configuration file, which is usually .cargo/config.toml locally for the current package.
Cargo treats vendored sources as read-only as it does to registry and git sources. If you intend to modify a crate from a remote source, use [patch] or a path dependency pointing to a local copy of that crate. Cargo will then correctly handle the crate on incremental rebuilds, as it knows that it is no longer a read-only dependency.
OPTIONS
Vendor Options
-s manifest, --sync manifest
--no-delete
--respect-source-config
--versioned-dirs
Manifest Options
--manifest-path path
--locked
It may be used in environments where deterministic builds are desired, such as in CI pipelines.
--offline
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.
--frozen
Display Options
-v, --verbose
-q, --quiet
--color when
May also be specified with the term.color config value https://doc.rust-lang.org/cargo/reference/config.html.
Common Options
+toolchain
--config KEY=VALUE or PATH
-C PATH
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
-Z flag
ENVIRONMENT
See the reference https://doc.rust-lang.org/cargo/reference/environment-variables.html for details on environment variables that Cargo reads.
EXIT STATUS
EXAMPLES
cargo vendor
cargo vendor third-party/vendor
cargo vendor -s ../path/to/Cargo.toml
cargo vendor > path/to/my/cargo/config.toml