04-cargo clean

cargo-clean(1) 清理目标文件

译文 · 基于 The Cargo Book

cargo-clean(1)

原文链接: https://doc.rust-lang.org/cargo/commands/cargo-clean.html

名称

cargo-clean — 移除已生成的产物

大纲

cargo clean [options]

描述

移除 target 目录中 Cargo 过去生成的产物。

若不带任何选项,cargo clean 将删除整个 target 目录。

选项

包选择

未选择任何包时,将清理工作空间中的所有包及其所有依赖。

-p spec…
--package spec…

仅清理指定的包。此标志可指定多次。SPEC 格式见 cargo-pkgid(1)。

--workspace

清理工作空间成员的产物。

Clean 选项

--dry-run

显示将要删除内容的摘要,但不实际删除。 与 --verbose 一起使用可显示将被删除的实际文件。

--doc

此选项使 cargo clean 仅移除 target 目录中的 doc 目录。

--release

移除 release 目录中的所有产物。

--profile name

移除具有给定配置文件名称的目录中的所有产物。

--target-dir directory

所有生成产物与中间文件的目录。也可通过 CARGO_TARGET_DIR 环境变量或 build.target-dir 配置值 指定。 默认为工作空间根目录下的 target。

--target triple

为指定的目标架构清理。此标志可指定多次。默认为主机架构。triple 的一般格式为 <arch><sub>-<vendor>-<sys>-<abi>。

可能的值:

  • rustc --print target-list 中任何受支持的目标。
  • "host-tuple",内部会替换为主机目标。若你在交叉编译某些 crate,又不想把主机机器指定为目标(例如可能由多台主机协作的共享项目中的 xtask),这会特别有用。
  • 自定义目标规范的路径。更多信息见 自定义目标查找路径。

也可通过 build.target 配置值 指定。

注意:指定此标志会使 Cargo 以不同模式运行,目标产物会放在单独目录中。详情见 构建缓存文档。

显示选项

-v
--verbose

使用详细输出。可指定两次以获得「非常详细」的输出,其中包括依赖警告与构建脚本输出等额外信息。 也可通过 term.verbose 配置值 指定。

-q
--quiet

不打印 cargo 日志消息。 也可通过 term.quiet 配置值 指定。

--color when

控制何时使用彩色输出。有效值:

  • auto(默认):自动检测终端是否支持颜色。
  • always:始终显示颜色。
  • never:从不显示颜色。

也可通过 term.color 配置值 指定。

Manifest 选项

--manifest-path path

Cargo.toml 文件的路径。默认情况下,Cargo 会在当前目录或其任意父目录中搜索 Cargo.toml。

--locked

断言使用与生成现有 Cargo.lock 文件时完全相同的依赖与版本。出现以下任一情况时,Cargo 将以错误退出:

  • 缺少锁文件。
  • 由于依赖解析不同,Cargo 试图更改锁文件。

可用于需要确定性构建的环境,例如 CI 流水线。

--offline

禁止 Cargo 因任何原因访问网络。若未指定此标志,当 Cargo 需要访问网络而网络不可用时会以错误停止。指定此标志后,Cargo 会在可能的情况下尝试在无网络时继续。

注意:这可能导致与在线模式不同的依赖解析结果。Cargo 将仅使用本地已下载的 crate,即使本地索引副本表明可能有更新版本。 可先使用 cargo-fetch(1) 命令下载依赖再离线使用。

也可通过 net.offline 配置值 指定。

--frozen

等价于同时指定 --locked 与 --offline。

通用选项

+toolchain

若 Cargo 通过 rustup 安装,且传给 cargo 的第一个参数以 + 开头,则会被解释为 rustup 工具链名称(例如 +stable 或 +nightly)。 关于工具链覆盖的工作方式,请参阅 rustup 文档。

--config KEY=VALUE or PATH

覆盖 Cargo 配置值。参数应为 TOML 语法的 KEY=VALUE,或指向额外配置文件的路径。此标志可指定多次。 更多信息见 命令行覆盖一节。

-C PATH

在执行任何指定操作之前更改当前工作目录。这会影响诸如 Cargo 默认查找项目清单(Cargo.toml)的位置,以及用于发现 .cargo/config.toml 的目录搜索等。此选项必须出现在命令名之前,例如 cargo -C path/to/my-project build。

此选项仅在 nightly 通道 可用, 并需要 -Z unstable-options 标志才能启用(见 #10098)。

-h
--help

打印帮助信息。

-Z flag

Cargo 的不稳定(仅 nightly)标志。运行 cargo -Z help 查看详情。

环境变量

参见参考文档了解 Cargo 读取的环境变量详情。

退出状态

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

示例

  1. 移除整个 target 目录:

    cargo clean
    
  2. 仅移除 release 产物:

    cargo clean --release
    

参见

cargo(1)、cargo-build(1)

最后修改 August 11, 2026: 更新 (70a5af133)