04-cargo locate-project
2 分钟阅读
译文 · 基于 The Cargo Book
cargo-locate-project(1)
原文链接: https://doc.rust-lang.org/cargo/commands/cargo-locate-project.html
名称
cargo-locate-project — 以 JSON 形式打印 Cargo.toml 文件的位置
大纲
cargo locate-project [options]
描述
此命令会向标准输出打印一个 JSON 对象,其中包含清单的完整路径。
通过从当前工作目录开始向上搜索名为 Cargo.toml 的文件来找到清单。
若项目恰好属于某个工作空间,则输出该项目的清单,而非工作空间根。
可用 --workspace 标志覆盖。根工作空间通过继续向上遍历,
或在定位到工作空间成员的清单后使用字段 package.workspace 找到。
选项
--workspace定位工作空间根处的
Cargo.toml,而非当前工作空间成员。
显示选项
--message-formatfmt打印项目位置所用的表示形式。有效值:
json(默认):JSON 对象,路径位于键 “root” 下。plain:仅路径。
-v--verbose使用详细输出。可指定两次以获得“非常详细”的输出,其中包含依赖警告与构建脚本输出等额外信息。 也可通过
term.verbose配置值 指定。-q--quiet不打印 cargo 日志消息。 也可通过
term.quiet配置值 指定。--colorwhen控制何时使用彩色输出。有效值:
auto(默认):自动检测终端是否支持颜色。always:始终显示颜色。never:从不显示颜色。
也可通过
term.color配置值 指定。
清单选项
--manifest-pathpathCargo.toml文件的路径。默认情况下,Cargo 在当前目录或任意父目录中搜索Cargo.toml文件。
通用选项
+toolchain若 Cargo 通过 rustup 安装,且传给
cargo的第一个参数以+开头,则会被解释为 rustup 工具链名称(例如+stable或+nightly)。 关于工具链覆盖如何工作,见 rustup 文档。--configKEY=VALUE or PATH覆盖 Cargo 配置值。参数应为 TOML 语法的
KEY=VALUE, 或指向额外配置文件的路径。此标志可指定多次。 更多信息见 命令行覆盖一节。-CPATH在执行任何指定操作之前更改当前工作目录。这会影响 Cargo 默认查找项目清单(
Cargo.toml)的位置,以及 用于发现.cargo/config.toml的目录搜索等。此选项必须 出现在命令名称之前,例如cargo -C path/to/my-project build。此选项仅在 nightly 通道 上可用,且 需要
-Z unstable-options标志才能启用(见 #10098)。-h--help打印帮助信息。
-ZflagCargo 的不稳定(仅 nightly)标志。运行
cargo -Z help查看详情。
环境
关于 Cargo 读取的环境变量详情,见参考文档。
退出状态
0:Cargo 成功。101:Cargo 未能完成。
示例
基于当前目录显示清单路径:
cargo locate-project