cargo --- The Rust package manager
cargo [options] command [args]cargo [options] --versioncargo [options] --listcargo [options] --helpcargo [options] --explain code
This program is a package manager and build tool for the Rust language, available at https://rust-lang.org.
{{man “cargo-bench” 1}}
Execute benchmarks of a package.
{{man “cargo-build” 1}}
Compile a package.
{{man “cargo-check” 1}}
Check a local package and all of its dependencies for errors.
{{man “cargo-clean” 1}}
Remove artifacts that Cargo has generated in the past.
{{man “cargo-doc” 1}}
Build a package's documentation.
{{man “cargo-fetch” 1}}
Fetch dependencies of a package from the network.
{{man “cargo-fix” 1}}
Automatically fix lint warnings reported by rustc.
{{man “cargo-run” 1}}
Run a binary or example of the local package.
{{man “cargo-rustc” 1}}
Compile a package, and pass extra options to the compiler.
{{man “cargo-rustdoc” 1}}
Build a package's documentation, using specified custom flags.
{{man “cargo-test” 1}}
Execute unit and integration tests of a package.
{{man “cargo-add” 1}}
Add dependencies to a Cargo.toml manifest file.
{{man “cargo-generate-lockfile” 1}}
Generate Cargo.lock for a project.
{{man “cargo-info” 1}}
Display information about a package in the registry. Default registry is crates.io.
{{man “cargo-locate-project” 1}}
Print a JSON representation of a Cargo.toml file's location.
{{man “cargo-metadata” 1}}
Output the resolved dependencies of a package in machine-readable format.
{{man “cargo-pkgid” 1}}
Print a fully qualified package specification.
{{man “cargo-remove” 1}}
Remove dependencies from a Cargo.toml manifest file.
{{man “cargo-tree” 1}}
Display a tree visualization of a dependency graph.
{{man “cargo-update” 1}}
Update dependencies as recorded in the local lock file.
{{man “cargo-vendor” 1}}
Vendor all dependencies locally.
{{man “cargo-init” 1}}
Create a new Cargo package in an existing directory.
{{man “cargo-install” 1}}
Build and install a Rust binary.
{{man “cargo-new” 1}}
Create a new Cargo package.
{{man “cargo-search” 1}}
Search packages in crates.io.
{{man “cargo-uninstall” 1}}
Remove a Rust binary.
{{man “cargo-login” 1}}
Save an API token from the registry locally.
{{man “cargo-logout” 1}}
Remove an API token from the registry locally.
{{man “cargo-owner” 1}}
Manage the owners of a crate on the registry.
{{man “cargo-package” 1}}
Assemble the local package into a distributable tarball.
{{man “cargo-publish” 1}}
Upload a package to the registry.
{{man “cargo-yank” 1}}
Remove a pushed crate from the index.
{{man “cargo-help” 1}}
Display help information about Cargo.
{{man “cargo-version” 1}}
Show version information.
{{#option “-V” “--version” }} Print version info and exit. If used with --verbose, prints extra information. {{/option}}
{{#option “--list” }} List all installed Cargo subcommands. If used with --verbose, prints extra information. {{/option}}
{{#option “--explain code” }} Run rustc --explain CODE which will print out a detailed explanation of an error message (for example, E0004). {{/option}}
{{/options}}
{{> options-display }}
{{/options}}
{} {{> options-locked }} {{/options}}
{{> section-options-common }}
{{> section-environment }}
{{> section-exit-status }}
~/.cargo/
Default location for Cargo's “home” directory where it stores various files. The location can be changed with the CARGO_HOME environment variable.
$CARGO_HOME/bin/
Binaries installed by {{man “cargo-install” 1}} will be located here. If using rustup, executables distributed with Rust are also located here.
$CARGO_HOME/config.toml
The global configuration file. See the reference for more information about configuration files.
.cargo/config.toml
Cargo automatically searches for a file named .cargo/config.toml in the current directory, and all parent directories. These configuration files will be merged with the global configuration file.
$CARGO_HOME/credentials.toml
Private authentication information for logging in to a registry.
$CARGO_HOME/registry/
This directory contains cached downloads of the registry index and any downloaded dependencies.
$CARGO_HOME/git/
This directory contains cached downloads of git dependencies.
Please note that the internal structure of the $CARGO_HOME directory is not stable yet and may be subject to change.
Build a local package and all of its dependencies:
cargo build
Build a package with optimizations:
cargo build --release
Run tests for a cross-compiled target:
cargo test --target i686-unknown-linux-gnu
Create a new package that builds an executable:
cargo new foobar
Create a package in the current directory:
mkdir foo && cd foo cargo init .
Learn about a command's options and usage:
cargo help clean
See https://github.com/rust-lang/cargo/issues for issues.
{{man “rustc” 1}}, {{man “rustdoc” 1}}