cargo-new(1)

名称

cargo-new — 创建新的 Cargo 包

概要

cargo new [选项] 路径

描述

此命令将在给定目录中创建一个新的 Cargo 包。这包括一个带有 Cargo.toml 清单、示例源文件和 VCS 忽略文件的简单模板。如果该目录尚未在 VCS 仓库中,则会创建一个新的仓库(参见下面的 --vcs)。

请参阅 cargo-init(1),该命令可在现有目录中创建新的 清单。

选项

新建选项

--bin
创建带有二进制目标(src/main.rs)的包。这是默认行为。
--lib
创建带有库目标(src/lib.rs)的包。
--edition 版本
指定使用的 Rust 版本(edition)。默认是 2024。可能的值:2015, 2018, 2021, 2024
--name 名称
设置包的名称。默认为目录名。
--vcs vcs
为给定的版本控制系统(git, hg, pijul, 或 fossil)初始化一个新的 VCS 仓库,或者完全不初始化任何版本控制(none)。如果未指定,则默认为 git 或配置值 cargo-new.vcs;如果已在 VCS 仓库内,则默认为 none
--registry registry
这将 Cargo.toml 中的 publish 字段设置为给定的 registry 名称,这将限制发布仅限于该 registry。

Registry 名称在 Cargo 配置文件 中定义。如果未指定,则使用 registry.default 配置键定义的默认 registry。如果未设置默认 registry 且未使用 --registry,则不会设置 publish 字段,这意味着发布将不受限制。

显示选项

-v
--verbose
使用详细输出。可以指定两次以获得“非常详细”的输出,其中包括依赖警告和构建脚本输出等额外信息。也可以通过 term.verbose 配置值 指定。
-q
--quiet
不打印 cargo 日志消息。也可以通过 term.quiet 配置值 指定。
--color when
控制何时使用彩色输出。有效值:

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

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

通用选项

+工具链
如果 Cargo 是通过 rustup 安装的,并且 cargo 的第一个参数以 + 开头,则它将被解释为 rustup 工具链名称(例如 +stable+nightly)。有关工具链覆盖如何工作的更多信息,请参见 rustup 文档
--config 键=值路径
覆盖 Cargo 配置值。参数应采用 TOML 语法 键=值,或提供一个额外配置文件的路径。此标志可以多次指定。有关更多信息,请参见命令行覆盖部分
-C 路径
在执行任何指定操作之前更改当前工作目录。这会影响 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 new foo
    

另请参阅

cargo(1), cargo-init(1)