Skip to content

Latest commit

 

History

History
223 lines (143 loc) · 4.97 KB

cargo.adoc

File metadata and controls

223 lines (143 loc) · 4.97 KB

cargo(1) Manual Page

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

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.

Manifest Commands

man:cargo-generate-lockfile[1]

Generate Cargo.lock for a project.

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, the concrete used versions including overrides, in machine-readable format.

man:cargo-pkgid[1]

Print a fully qualified package specification.

man:cargo-update[1]

Update dependencies as recorded in the local lock file.

man:cargo-vendor[1]

Vendor all dependencies locally.

man:cargo-verify-project[1]

Check correctness of crate manifest.

Package Commands

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.

Publishing Commands

man:cargo-login[1]

Save 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.

General Commands

man:cargo-help[1]

Display help information about Cargo.

man:cargo-version[1]

Show version information.

OPTIONS

Special Options

-V
--version

Print version info and exit. If used with --verbose, prints extra information.

--list

List all installed Cargo subcommands. If used with --verbose, prints extra information.

--explain CODE

Run rustc --explain CODE which will print out a detailed explanation of an error message (for example, E0004).

Display Options

Manifest Options

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 man:cargo-install[1] will be located here. If using rustup, executables distributed with Rust are also located here.

$CARGO_HOME/config

The global configuration file. See linkcargo:reference/config.html[the reference] for more information about configuration files.

.cargo/config

Cargo automatically searches for a file named .cargo/config in the current directory, and all parent directories. These configuration files will be merged with the global configuration file.

$CARGO_HOME/credentials

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

  1. Build a local package and all of its dependencies:

    cargo build
  2. Build a package with optimizations:

    cargo build --release
  3. Run tests for a cross-compiled target:

    cargo test --target i686-unknown-linux-gnu
  4. Create a new package that builds an executable:

    cargo new foobar
  5. Create a package in the current directory:

    mkdir foo && cd foo
    cargo init .
  6. Learn about a command’s options and usage:

    cargo help clean

SEE ALSO

man:rustc[1], man:rustdoc[1]