01-cargo init

cargo-init(1) 在已有目录初始化包

译文 · 基于 The Cargo Book

cargo-init(1)

原文链接: https://doc.rust-lang.org/cargo/commands/cargo-init.html

名称

cargo-init — 在已有目录中创建新的 Cargo 包

大纲

cargo init [options] [path]

描述

此命令会在当前目录创建新的 Cargo 清单。给定路径参数可在指定目录中创建。

若目录中已有典型命名的 Rust 源文件,将使用它们。否则会创建示例 src/main.rs 文件;若传入 --lib,则创建 src/lib.rs。

若该目录尚不在 VCS 仓库中,则会创建新仓库(见下方 --vcs)。

类似命令见 cargo-new(1),它会在新目录中创建新包。

选项

初始化选项

--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)初始化新的 VCS 仓库, 或完全不初始化任何版本控制(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=VALUE or PATH

覆盖 Cargo 配置值。参数应为 TOML 语法的 KEY=VALUE, 或指向额外配置文件的路径。此标志可指定多次。 更多信息见 命令行覆盖一节。

-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 包:

    cargo init
    

参见

cargo(1), cargo-new(1)

最后修改 August 11, 2026: 更新 (70a5af133)