Skip to content

Latest commit

 

History

History
288 lines (191 loc) · 9.64 KB

cargo.zh.md

File metadata and controls

288 lines (191 loc) · 9.64 KB

cargo(1)

NAME

Cargo - Rust 包管理器

SYNOPSIS

cargo [options] command [args]
cargo [options] --version
cargo [options] --list
cargo [options] --help
cargo [options] --explain code

DESCRIPTION

该程序是 Rust 语言的包管理器和构建工具,列入https://rust-lang.org

COMMANDS

Build Commands

cargo-bench(1)
执行包的基准测试。

cargo-build(1)
编译一个包。

cargo-check(1)
检查本地包及其所有依赖项是否存在错误。

cargo-clean(1)
移除 Cargo 过去生成的工件。

cargo-doc(1)
构建包的文档。

cargo-fetch(1)
网络获取包的依赖项。

cargo-fix(1)
自动修复 rustc 报告的 lint 警告。

cargo-run(1)
运行二进制文件或本地包的示例。

cargo-rustc(1)
编译一个包,并将额外的选项传递给编译器。

cargo-rustdoc(1)
使用指定的自定义标志,生成包的文档。

cargo-test(1)
执行软件包的单元测试和集成测试。

Manifest Commands

cargo-generate-lockfile(1)
为了一个项目,生成Cargo.lock

cargo-locate-project(1)
打印 JSON 格式的Cargo.toml文件的位置。

cargo-metadata(1)
以机器可读的格式,输出已解析的包依赖项。

cargo-pkgid(1)
打印完全合格的包规格。

cargo-tree(1)
显示依赖关系图的树可视化。

cargo-update(1)
更新本地锁文件中,记录的依赖项。

cargo-vendor(1)
本地供应所有依赖项。

cargo-verify-project(1)
检查箱子清单的正确性。

Package Commands

cargo-init(1)
在现有目录中,创建新的 Cargo 包。

cargo-install(1)
构建并安装一个 Rust 的二进制文件。

cargo-new(1)
创建一个新的 Cargo 包。

cargo-search(1)
在 crates.io 中搜索包。

cargo-uninstall(1)
移除一个 Rust 包二进制程序。

Publishing Commands

cargo-login(1)
本地保存一个 registry(来源网站) 的 API 令牌。

cargo-owner(1)
管理 registry 上,箱子的所有者。

cargo-package(1)
将本地包汇编成一个可分配的压缩文件(tarball)。

cargo-publish(1)
将包上载到 来源网站 。

cargo-yank(1)
从索引中,移除一个已推送的箱子。

General Commands

cargo-help(1)
显示有关 Cargo 的帮助信息。

cargo-version(1)
显示版本信息。

OPTIONS

Special Options

-V
--version
打印版本信息并退出。如果使用了 --verbose, 就会打印额外信息
--list
列出所有安装的 Cargo 子命令。如果使用了 --verbose, 打印额外的信息。
--explain code
运行 rustc --explain CODE,它会给出一个错误信息的详细解释 (例如 CODE 可以是, E0004)。

Display Options

-v
--verbose
详细的输出。还可以两个 v 字符,就是 "非常详细" 的输出:包括额外的输出,如依赖警告和构建脚本的输出。 还可以使用 term.verbose 配置选项.
-q
--quiet
不打印日志信息。 还可以使用 term.quiet 配置选项
--color
颜色化输出的配置。可用选项:

  • auto (default): 自动
  • always: 有颜色
  • never: 没颜色

还可以使用 term.color 配置选项.

Manifest Options

--frozen
--locked
两个命令选项都要求 Cargo.lock 文件是最新的。如果缺少了该文件,或是它需要更新,那么 Cargo 就以一个错误退出。 --frozen 阻止 Cargo 连网检测它是不是最新的。

这两个选项可用在 CI 的环境,断定 Cargo.lock 是最新的,或是阻止网络的访问。

--offline
网络禁止。在没有这个选项的情况下,网络访问失败,Cargo 会以一个错误停止。若使用了这个选项,Cargo 会尝试不联网的状态继续执行

注意,大概率会产生与联网时不同的依赖解析。限制为本地已下载的箱子,即便是本地索引的新副本,都不行。 看看 cargo-fetch(1) 在断网前,下载依赖

还可以使用 net.offline 配置选项.

Common Options

+toolchain
若是使用 rustup 安装的 Cargo, cargo 的第一个参数 +, 跟着工具链名称 (例如 例如 +stable+nightly). 可以查看rustup 文档。 关于工具链覆盖的详细信息。
-h
--help
打印帮助信息。
-Z flag
Cargo 的 不稳定的 (nightly-only) 选项。运行 cargo -Z help 获取详细信息。

ENVIRONMENT

查看the reference有关 Cargo 读取的环境变量的详细信息。

EXIT STATUS

  • 0: Cargo 成功。
  • 101: Cargo 未能完成。

FILES

~/.cargo/
Cargo 的“主”目录的默认位置,用于存储各种文件。可以通过CARGO_HOME环境变量改变。

$CARGO_HOME/bin/
cargo-install(1)安装的二进制文件,将位于这里。如果使用rustup,Rust 的可执行文件也位于此处。

$CARGO_HOME/config.toml
全局配置文件。查看the reference有关配置文件的更多信息。

.cargo/config.toml
Cargo 会自动搜索,在当前目录和所有父目录中,名为.cargo/config.toml的文件。这些配置文件将与全局配置文件合并。

$CARGO_HOME/credentials.toml
用于登录到 来源网站 的私人身份验证信息。

$CARGO_HOME/registry/
此目录包含 来源网站 索引的缓存下载和任何下载的依赖项。

$CARGO_HOME/git/
此目录包含 git 依赖项的缓存下载。

请注意$CARGO_HOME目录的内部结构尚未稳定,可能会发生更改。

EXAMPLES

  1. 构建本地包及其所有依赖项:
cargo build
  1. 构建一个优化包:
cargo build --release
  1. 对跨编译的目标运行测试:
cargo test --target i686-unknown-linux-gnu
  1. 创建用于生成可执行文件的新包:
cargo new foobar
  1. 在当前目录中,创建包:
mkdir foo && cd foo
cargo init .
  1. 了解命令的选项和用法:
cargo help clean

BUGS

查看https://github.com/rust-lang/cargo/issues关于问题。

SEE ALSO

rustc(1), rustdoc(1)