第58章 Cargo: 初始化包
名称
cargo-init — 在现有目录中创建新的 Cargo 包
摘要
cargo init [options] [path]
描述
此命令会在当前目录中创建一个新的 Cargo 清单文件。提供路径作为参数,则在该目录中创建。
若目录中已存在常用命名的 Rust 源文件,将直接使用这些文件。否则,将创建示例文件 src/main.rs;如果传入了 --lib 参数,则创建 src/lib.rs。
若目录尚未在版本控制系统(VCS)仓库中,将创建一个新的仓库(参见下文 --vcs)。
参见 cargo-new(1),它是一个类似命令,在新目录中创建新包。
选项
Init 选项
--bin-
创建包含二进制目标(
src/main.rs)的包。这是默认行为。 --lib-
创建包含库目标(
src/lib.rs)的包。 --editionedition-
指定使用的 Rust 版本(edition)。默认为 2024。 可选值:2015, 2018, 2021, 2024
--namename-
设置包名称。默认为目录名称。
--vcsvcs-
为指定的版本控制系统(git, hg, pijul 或 fossil)初始化新仓库,或完全不初始化任何版本控制(none)。若未指定,默认为
git或配置值cargo-new.vcs;若已在 VCS 仓库内,则默认为none。 --registryregistry-
将
Cargo.toml中的publish字段设置为指定的注册表名称,从而限制只能发布到该注册表。注册表名称在 Cargo 配置文件 中定义。若未指定,则使用由
registry.default配置项定义的默认注册表。如果未设置默认注册表且未使用--registry,则不会设置publish字段,这意味着发布操作不受限制。
显示选项
-v--verbose-
使用详细输出。可以指定两次以获取“非常详细”的输出,包括依赖项警告和构建脚本输出等额外信息。也可以通过
term.verbose配置值 来指定。 -q--quiet-
不打印 Cargo 日志消息。也可以通过
term.quiet配置值 来指定。 --colorwhen-
控制何时使用彩色输出。有效值如下:
auto(默认):自动检测终端是否支持颜色。always:始终显示颜色。never:从不显示颜色。
也可以通过
term.color配置值 来指定。
通用选项
+toolchain-
如果 Cargo 是通过 rustup 安装的,且
cargo的第一个参数以+开头,它会被解释为 rustup 工具链名称(例如+stable或+nightly)。 关于工具链覆盖的工作原理,详见 rustup 文档。 --configKEY=VALUE 或 PATH-
覆盖 Cargo 配置项。参数需为 TOML 语法的
KEY=VALUE,或提供一个额外配置文件的路径。此参数可多次指定。 详见命令行覆盖一节。 -CPATH-
在执行任何指定操作前先切换当前工作目录。这会影响 Cargo 的默认行为,比如到哪里查找项目清单文件(
Cargo.toml),以及在哪里搜索.cargo/config.toml等。此选项必须放在命令名之前,例如cargo -C path/to/my-project build。此选项仅在 nightly channel 上可用,且需要启用
-Z unstable-options标志(参见 #10098)。 -h--help-
打印帮助信息。
-Zflag-
Cargo 的不稳定(仅限 nightly)标志。运行
cargo -Z help查看详细说明。
环境变量
关于 Cargo 读取的环境变量详情,参见参考文档。
退出状态
0:Cargo 执行成功。101:Cargo 执行失败。
示例
-
在当前目录创建一个二进制 Cargo 包:
cargo init