cargo-clean(1)
名称
cargo-clean - 删除生成的产物
概要
cargo clean
[options]
描述
删除目标 (target) 文件夹中的构建产物。
未附带选项时,cargo clean
会删除整个目标文件夹。
选项
包的选择
如果没有选择哪个包,工作空间中所有的包和依赖都将被删除。
-p
spec...--package
spec...- 只清除选中的包。这个标志可以指定多次。可从cargo-pkgid(1) 了解 SPEC 格式的相关信息。
清除选项
--doc
- 此选项会使得
cargo clean
只清除目标文件夹中的doc
文件夹。 --release
- 清除
release
文件夹中的所有产物。 --profile
name- 清除构建预设 (profile) 名为 name 的文件夹中的所有产物。
--target-dir
directory- 存放构建产物和中间文件的文件夹。也可以用
CARGO_TARGET_DIR
环境变量来设置,或者build.target-dir
设置选项。默认会放在工作空间根目录的target
子目录下。 --target
triple- 清除指定架构 (architecture) 的产物。默认为宿主架构。通常的 triple 格式为
<arch><sub>-<vendor>-<sys>-<abi>
。 运行rustc --print target-list
可以获取所有支持的架构的列表。此标志可以指定多次。也可以通过
build.target
选项进行设置。注意,指定这个标志会使Cargo在不同的模式下运行,目标产物会放在单独的目录。 参见 构建缓存 文档了解详情。
显示选项
-v
--verbose
- 进行详细输出。可以指定两遍来开启 "非常详细" 模式,输出更多的额外信息,像是依赖项的警告和构建脚本的输出信息。
也可以通过
term.verbose
选项进行配置 。 -q
--quiet
- 不打印 cargo 日志信息。
也可以通过
term.quiet
选项进行配置。 --color
when- 控制使用彩色输出。可选值有:
auto
(默认值): 自动检测终端是否支持彩色输出。always
: 总是显示彩色。never
: 从不显示彩色。
也可以在
term.color
选项进行配置。
清单选项
--manifest-path
path-
Cargo.toml
文件的路径。 默认情况下,Cargo 在当前目录或任意的父目录中查找Cargo.toml
。 --frozen
--locked
- 这两个 flag 都需要
Cargo.lock
文件处于无需更新的状态。如果 lock 文件缺失,或者需要被更新,Cargo 会报错退出。--frozen
flag 还会阻止 Cargo 访问网络来判断 Cargo.lock 是否过期。这些 flag 可以用于某些场景下你想断言
Cargo.lock
无需更新 (比如在CI中构建) 或者避免网络访问。 --offline
- 阻止 Cargo 访问网络。如果没有这个 flag,当 Cargo 需要访问网络但是没有网络时,就会报错退出。加上这个 flag,Cargo 会尝试在不联网的情况下继续执行 (如果可以的话) 。
要小心这会导致与在线模式不同的解析结果。Cargo 会限制自己在本地已下载的 crate 中查找版本,即使在本地的 index 拷贝中表明还有更新的版本。 cargo-fetch(1) 命令可以在进入离线模式前下载依赖。
同样的功能也可以通过设置
net.offline
配置选项来实现。
通用选项
+
toolchain- 如果 Cargo 由 rustup 安装,那么
cargo
后第一个以+
开头的参数会被认为是 rustup toolchain 名字(例如+stable
或+nightly
)。 查看 rustup documentation 了解 toolchain overrides 如何工作。 --config
KEY=VALUE or PATH- 覆盖一个 Cargo 配置的值。参数应该是一个 TOML 语法的
KEY=VALUE
,或者提供一个路径来指向一个额外的配置文件 (configuration file)。 这个标记可以指定多次。 参考 command-line overrides 一节 获取更多信息。 -h
--help
- 打印帮助信息。
-Z
flag- 不稳定 (nightly-only) 的标志。 执行
cargo -Z help
获取详细信息。
环境
查看 the reference 获取 Cargo 读取的环境变量的更多信息。
退出状态
0
: Cargo 执行成功。101
: Cargo 没有执行完成。
使用案例
-
清除整个 target 文件夹:
cargo clean
-
只清除 release 产物:
cargo clean --release