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

第63章 cargo login 命令详解

名称

cargo-login — 登录注册表

概要

cargo login [options] [-- args]

描述

该命令会运行一个凭证提供者(credential provider),以保存 token,使得需要身份验证的命令(如 cargo-publish(1))能够自动通过认证。

两个破折号(--)之后的所有参数都会传递给凭证提供者。

对于默认的 cargo:token 凭证提供者,token 会保存在 $CARGO_HOME/credentials.toml 中。CARGO_HOME 默认指向主目录下的 .cargo

如果某个注册表指定了 credential-provider,则会使用该指定提供者。否则,将依次尝试配置值 registry.global-credential-providers 中定义的提供者,从列表末尾开始。

token 将从标准输入(stdin)读取。

crates.io 的 API token 可以从 https://crates.io/me 获取。

请务必妥善保管 token,切勿与他人共享。

选项

登录选项

--registry registry

指定要使用的注册表名称。注册表名称定义在 Cargo 配置文件中。如果未指定,则使用默认注册表,该默认值由配置键 registry.default 决定,其默认值为 crates-io

显示选项

-v
--verbose

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

-q
--quiet

不打印 cargo 日志信息。 也可以通过 term.quiet 配置项 指定。

--color when

控制何时使用彩色输出。可选值:

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

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

通用选项

+toolchain

如果 Cargo 是通过 rustup 安装的,且 cargo 的第一个参数以 + 开头,它会被解释为 rustup 工具链名称(例如 +stable+nightly)。 更多关于工具链覆盖机制的内容,请参阅 rustup 文档

--config KEY=VALUEPATH

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

-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. 保存默认 registry 的 token:

    cargo login
    
  2. 保存特定 registry 的 token:

    cargo login --registry my-registry
    

另见

cargo(1)cargo-logout(1)cargo-publish(1)

评论 (0)