cargo/src/doc/man/cargo.adoc

218 lines
4.8 KiB
Plaintext

= cargo(1)
:doctype: manpage
== NAME
cargo - The Rust package manager
== SYNOPSIS
[%hardbreaks]
`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 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-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
include::options-display.adoc[]
=== Manifest Options
include::options-locked.adoc[]
=== Common Options
include::options-common.adoc[]
include::section-environment.adoc[]
include::section-exit-status.adoc[]
== 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.
== EXAMPLES
. 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
== BUGS
See https://github.com/rust-lang/cargo/issues for issues.
== SEE ALSO
man:rustc[1], man:rustdoc[1]