cargo-add(1)

名称

cargo-add -向Cargo.toml清单文件添加依赖项

摘要

cargo add [options] crate...
cargo add [options] --path path
cargo add [options] --git url [crate...]

描述

此命令可以添加或修改依赖关系。

依赖项的源可以通过以下内容指定:

  • crate@version: 以"version"的约束从注册中心取(包)
  • --path path: 从指定的 path 取(包)
  • --git url: 从给定 url 的git仓库拉取

如果没有指定源,那么尽最大努力选择一个,包括:

  • 其他表中存在的依赖 (例如 dev-dependencies)
  • 工作空间成员
  • 注册中心中的最新发行版

当您添加一个已经存在的包时,将使用指定的标志更新现有条目。

一旦成功调用,指定的依赖中的启用的 (+) 和 禁用的 (-) 特性 将在命令输出中被列出

选项

源选项

--git url
从Git URL添加指定的crate
--branch branch
从git添加时使用的分支。
--tag tag
从git添加时使用的标签。
--rev sha
从git添加时使用的特定提交
--path path
要添加的本地crate的文件系统路径
--registry registry
注册中心所使用的名称。注册中心名称被定义在Cargo配置文件中。如果未指定将会使用默认注册中心,该注册中心由registry.default配置项定义,默认为crates-io

部分选项

--dev
作为开发依赖添加。
--build
作为构建依赖添加。
--target target
作为给定目标平台的依赖添加。

依赖选项

--dry-run
不真的写入清单
--rename name
重命名依赖项。
--optional
标记依赖为可选的
--no-optional
标记依赖为必需的
--no-default-features
禁用默认特性
--default-features
重新启用默认特性
--features features
要激活的以逗号或空格分隔的特性。添加多个crate时,特定板条箱的功能可通过包名称/功能名称语法启用。可以多次指定该标志,从而启用所有指定的功能。

显示选项

-v
--verbose
使用详细输出。对于包括额外输出(如依赖关系警告和构建脚本输出)的“非常详细”输出,可以指定两次。也可以用term.verbose配置指定。
-q
--quiet
不要打印cargo日志信息。也可以用term.quiet配置
--color when
控制何时使用彩色输出。有效值:

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

也可以用term.quiet配置

清单选项

--manifest-path path
Cargo.toml文件的路径。默认情况下,Cargo在当前目录或任何父目录中搜索Cargo.toml文件。
-p spec
--package spec
仅向指定的包添加依赖项。
--frozen
--locked
这两个标志都要求Cargo.lock文件是最新的。如果lock文件丢失,或者需要更新,Cargo将出错退出。--frozen标志还防止cargo试图访问网络来确定它是否过期。 在您希望断言Cargo.lock文件是最新的(例如CI构建)或希望避免网络访问的环境中,可以使用这些文件。
--offline
防止 Cargo 以任何理由访问网络。如果没有这个标志,当 Cargo 需要访问网络而网络不可用时,Cargo 将出错停止。有了这个标志,如果可能的话,Cargo 将试图在没有网络的情况下前进。

请注意,这可能会导致与在线模式不同的依赖关系解析。Cargo 将自己限制在本地下载的 crate 中,即使在索引的本地副本中可能有更新的版本。请参阅 cargo-fetch(1) 命令,以便在脱机之前下载依赖项。

也可以用 net.offline 配置

Common Options

+toolchain
如果cargo已经安装了rustup,并且 cargo 的第一个参数以 cargo 开头,它将被解释为 rustup 工具链名称(例如 +stable+nightly )。有关工具链覆盖如何工作的更多信息,请参见 rustup 文档
--config KEY=VALUE or PATH
覆盖 Cargo 配置值。该参数应该采用 KEY=VALUE 的 TOML 语法,或者作为额外配置文件的路径提供。可以多次指定该标志。有关更多信息,请参见 命令行覆盖部分
-h
--help
打印帮助信息。
-Z flag
Cargo 的不稳定 (nightly-only) 标志。运行 cargo -Z help 获取详细信息。

环境

有关Cargo读取的环境变量的详细信息,请参见 the reference

退出状态

  • 0: Cargo 成功.
  • 101: Cargo 未能完成.

示例

  1. 添加 regex 作为依赖项

    cargo add regex
    
  2. 添加 trybuild 作为开发依赖项

    cargo add --dev trybuild
    
  3. 添加旧版本的 nom 作为依赖项

    cargo add nom@5
    
  4. 添加对使用 derive 将数据结构序列化到json的支持

    cargo add serde serde_json -F serde/derive
    

另见

cargo(1), cargo-remove(1)