入门 The Cargo Team 2026-09-13 15:48:23 · 3 阅读

第70章 cargo report future-incompatibilities 命令详解

名称

cargo-report-future-incompatibilities —— 报告那些最终会停止编译的 crate

用法

cargo report future-incompatibilities [选项]

描述

显示先前构建过程中产生的未来不兼容警告报告。这些警告预示着某些变更在未来可能变成硬性错误,导致在 rustc 的后续版本中依赖项无法构建。

更多内容请参见未来不兼容报告章节。

选项

--id id

显示指定 Cargo 生成 ID 的报告。若未指定,则显示最新的报告。

软件包选择

默认选择当前工作目录下的软件包。可使用 -p 标志在工作区中选择其他软件包。

-p spec
--package spec

要显示报告的软件包。SPEC 格式详见 cargo-pkgid(1)

显示选项

-v
--verbose

使用详细输出。指定两次可开启“非常详细”模式,包含依赖警告和构建脚本输出等额外信息。 也可通过 term.verbose 配置项 设置。

-q
--quiet

不打印 Cargo 日志消息。 也可通过 term.quiet 配置项 设置。

--color when

控制彩色输出的使用场景。有效值:

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

也可通过 term.color 配置项 设置。

Manifest Options

--locked

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

  • 缺少锁文件。
  • Cargo 因依赖解析结果不同而试图修改 lock 文件。

该选项适用于需要确定性构建的环境,比如 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=VALUEPATH

覆盖 Cargo 配置项。参数需采用 KEY=VALUE 的 TOML 语法,或指定一个额外配置文件的路径。此标志可多次使用。更多信息请参阅命令行覆盖章节

-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. 显示最新的未来不兼容报告:

    cargo report future-incompat
    
  2. 显示特定软件包的最新未来不兼容报告:

    cargo report future-incompat --package my-dep@0.0.1
    

另见

cargo(1)cargo-report(1)cargo-build(1)

评论 (0)