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

第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)的包。

--edition edition

指定使用的 Rust 版本(edition)。默认为 2024。 可选值:2015, 2018, 2021, 2024

--name name

设置包名称。默认为目录名称。

--vcs vcs

为指定的版本控制系统(git, hg, pijul 或 fossil)初始化新仓库,或完全不初始化任何版本控制(none)。若未指定,默认为 git 或配置值 cargo-new.vcs;若已在 VCS 仓库内,则默认为 none

--registry registry

Cargo.toml 中的 publish 字段设置为指定的注册表名称,从而限制只能发布到该注册表。

注册表名称在 Cargo 配置文件 中定义。若未指定,则使用由 registry.default 配置项定义的默认注册表。如果未设置默认注册表且未使用 --registry,则不会设置 publish 字段,这意味着发布操作不受限制。

显示选项

-v
--verbose

使用详细输出。可以指定两次以获取“非常详细”的输出,包括依赖项警告和构建脚本输出等额外信息。也可以通过 term.verbose 配置值 来指定。

-q
--quiet

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

--color when

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

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

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

通用选项

+toolchain

如果 Cargo 是通过 rustup 安装的,且 cargo 的第一个参数以 + 开头,它会被解释为 rustup 工具链名称(例如 +stable+nightly)。 关于工具链覆盖的工作原理,详见 rustup 文档

--config KEY=VALUEPATH

覆盖 Cargo 配置项。参数需为 TOML 语法的 KEY=VALUE,或提供一个额外配置文件的路径。此参数可多次指定。 详见命令行覆盖一节

-C PATH

在执行任何指定操作前先切换当前工作目录。这会影响 Cargo 的默认行为,比如到哪里查找项目清单文件(Cargo.toml),以及在哪里搜索 .cargo/config.toml 等。此选项必须放在命令名之前,例如 cargo -C path/to/my-project build

此选项仅在 nightly channel 上可用,且需要启用 -Z unstable-options 标志(参见 #10098)。

-h
--help

打印帮助信息。

-Z flag

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

环境变量

关于 Cargo 读取的环境变量详情,参见参考文档

退出状态

  • 0:Cargo 执行成功。
  • 101:Cargo 执行失败。

示例

  1. 在当前目录创建一个二进制 Cargo 包:

    cargo init
    

另请参阅

cargo(1)cargo-new(1)

评论 (0)