第70章 cargo report future-incompatibilities 命令详解
名称
cargo-report-future-incompatibilities —— 报告那些最终会停止编译的 crate
用法
cargo report future-incompatibilities [选项]
描述
显示先前构建过程中产生的未来不兼容警告报告。这些警告预示着某些变更在未来可能变成硬性错误,导致在 rustc 的后续版本中依赖项无法构建。
更多内容请参见未来不兼容报告章节。
选项
--idid-
显示指定 Cargo 生成 ID 的报告。若未指定,则显示最新的报告。
软件包选择
默认选择当前工作目录下的软件包。可使用 -p 标志在工作区中选择其他软件包。
-pspec--packagespec-
要显示报告的软件包。SPEC 格式详见 cargo-pkgid(1)。
显示选项
-v--verbose-
使用详细输出。指定两次可开启“非常详细”模式,包含依赖警告和构建脚本输出等额外信息。 也可通过
term.verbose配置项 设置。 -q--quiet-
不打印 Cargo 日志消息。 也可通过
term.quiet配置项 设置。 --colorwhen-
控制彩色输出的使用场景。有效值:
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 文档。 --configKEY=VALUE 或 PATH-
覆盖 Cargo 配置项。参数需采用
KEY=VALUE的 TOML 语法,或指定一个额外配置文件的路径。此标志可多次使用。更多信息请参阅命令行覆盖章节。 -CPATH-
在执行指定操作前更改当前工作目录。这会影响 Cargo 默认查找项目清单(
Cargo.toml)的位置,以及查找.cargo/config.toml的搜索目录等。此选项必须位于命令名称之前,例如cargo -C path/to/my-project build。此选项仅在nightly 渠道可用, 且需启用
-Z unstable-options标志(参见 #10098)。 -h--help-
打印帮助信息。
-Zflag-
Cargo 的不稳定(仅限 nightly)标志。运行
cargo -Z help查看详情。
环境变量
有关 Cargo 读取的环境变量详情,请参阅参考文档。
退出状态
0: Cargo 执行成功。101: Cargo 未能完成。
示例
-
显示最新的未来不兼容报告:
cargo report future-incompat -
显示特定软件包的最新未来不兼容报告:
cargo report future-incompat --package my-dep@0.0.1