table of contents
        
      
      
    | CARGO(1) | General Commands Manual | CARGO(1) | 
NAME¶
cargo — The Rust package manager
SYNOPSIS¶
cargo [options] command [args]
  
  cargo [options] --version
  
  cargo [options] --list
  
  cargo [options] --help
  
  cargo [options] --explain code
DESCRIPTION¶
This program is a package manager and build tool for the Rust language, available at <https://rust-lang.org>.
COMMANDS¶
Build Commands¶
cargo-bench(1)
  
      Execute benchmarks of a package.
cargo-build(1)
  
      Compile a package.
cargo-check(1)
  
      Check a local package and all of its
    dependencies for errors.
cargo-clean(1)
  
      Remove artifacts that Cargo has generated in
    the past.
cargo-doc(1)
  
      Build a package’s documentation.
cargo-fetch(1)
  
      Fetch dependencies of a package from the
    network.
cargo-fix(1)
  
      Automatically fix lint warnings reported by
    rustc.
cargo-run(1)
  
      Run a binary or example of the local
  package.
cargo-rustc(1)
  
      Compile a package, and pass extra options to
    the compiler.
cargo-rustdoc(1)
  
      Build a package’s documentation, using
    specified custom flags.
cargo-test(1)
  
      Execute unit and integration tests of a
    package.
Manifest Commands¶
cargo-add(1)
  
      Add dependencies to a Cargo.toml
    manifest file.
cargo-generate-lockfile(1)
  
      Generate Cargo.lock for a project.
cargo-info(1)
  
      Display information about a package in the
    registry. Default registry is crates.io.
cargo-locate-project(1)
  
      Print a JSON representation of a
    Cargo.toml file’s location.
cargo-metadata(1)
  
      Output the resolved dependencies of a package
    in machine-readable format.
cargo-pkgid(1)
  
      Print a fully qualified package
  specification.
cargo-remove(1)
  
      Remove dependencies from a Cargo.toml
    manifest file.
cargo-tree(1)
  
      Display a tree visualization of a dependency
    graph.
cargo-update(1)
  
      Update dependencies as recorded in the local
    lock file.
cargo-vendor(1)
  
      Vendor all dependencies locally.
Package Commands¶
cargo-init(1)
  
      Create a new Cargo package in an existing
    directory.
cargo-install(1)
  
      Build and install a Rust binary.
cargo-new(1)
  
      Create a new Cargo package.
cargo-search(1)
  
      Search packages in crates.io.
cargo-uninstall(1)
  
      Remove a Rust binary.
Publishing Commands¶
cargo-login(1)
  
      Save an API token from the registry
  locally.
cargo-logout(1)
  
      Remove an API token from the registry
  locally.
cargo-owner(1)
  
      Manage the owners of a crate on the
  registry.
cargo-package(1)
  
      Assemble the local package into a
    distributable tarball.
cargo-publish(1)
  
      Upload a package to the registry.
cargo-yank(1)
  
      Remove a pushed crate from the index.
General Commands¶
cargo-help(1)
  
      Display help information about Cargo.
cargo-version(1)
  
      Show version information.
OPTIONS¶
Special Options¶
-V, --version
--list
--explain code
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>.
Manifest Options¶
--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
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¶
FILES¶
~/.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 cargo-install(1)
    will be located here. If using rustup
    <https://rust-lang.github.io/rustup/>, executables distributed with
    Rust are also located here.
$CARGO_HOME/config.toml
  
      The global configuration file. See the
    reference <https://doc.rust-lang.org/cargo/reference/config.html>
    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.
EXAMPLES¶
cargo build
cargo build --release
cargo test --target i686-unknown-linux-gnu
cargo new foobar
mkdir foo && cd foo cargo init .
cargo help clean
BUGS¶
See <https://github.com/rust-lang/cargo/issues> for issues.