cargo-new(1)

定义

cargo-new - 创建一个新的cargo package

概要

cargo new [options] path

说明

该命令会在给定的目录下新建一个cargo package,将创建一个简单的名为Cargo.toml的清单文件模板, 示例源文件,以及一个版本控制系统的忽略清单文件,如果该目录不在版本控制系统仓库下,那么将会创建一个仓库(详情查看下文中的 --vcs 说明)

查阅 cargo-init(1) 来了解类似的命令,用它可以在一个已经存在的目录下创建一个清单文件。

选项

新建选项

--bin
创建一个以binary为目标的package (src/main.rs). This is the default behavior.
--lib
创建一个以library为目标的package (src/lib.rs).
--edition edition
指定使用的Rust的版本. 默认是 2021, 可能的值有: 2015, 2018, 2021
--name name
设置package的名称,默认为给定的目录的名称。
--vcs vcs
为版本控制系统(git, hg, pijul, 或者fossil)初始化一个仓库,否则将不会使用任何版本控制(none)。 如果该选项未被指定,则默认为 git 或者是在配置文件 cargo-new.vcs中指定的值,如果已经在一个版本控制系统仓库下面则相当于传入了 none
--registry registry
指定该选项将找指定的注册项,并将 Cargo.toml 中的 publish 字段设置成它的值。

注册项的定义在 Cargo 配置文件中。 如果未指定该选项,那么配置文件中 registry.default 块中的配置项将会被采用, 如果 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配置项的值. 传入的参数应当遵循 KEY=VALUE 的TOML语法或者是 一个额外的配置文件的路径。 该选项可以被配置多次. 查阅 命令行重写部分 获取更多信息。
-h
--help
输出帮助信息。
-Z flag
不稳定的 (只在nightly下可用) 标识,执行 cargo -Z help 获取更多信息。

环境

查阅 参考手册 获取Cargo将读取的环境变量的资料

退出状态

  • 0: Cargo 成功退出.
  • 101: Cargo 错误退出.

示例

  1. 在给定的目录下创建一个cargo package:

    cargo new foo
    

另请参见

cargo(1), cargo-init(1)