选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

配置并使用 Yarn CodeArtifact

聚焦模式
配置并使用 Yarn CodeArtifact - CodeArtifact

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建存储库后,您可以使用 Yarn 客户端来管理 npm 程序包。

注意

Yarn 1.X 会读取和使用 npm 配置文件 (.npmrc) 中的信息,但 Yarn 2.X 不会。Yarn 2.X 的配置必须在.yarnrc.yml 文件中定义。

使用 aws codeartifact login 命令配置 Yarn 1.X

对于Yarn 1.X,您可以使用aws codeartifact login命令配置 Yarn。 CodeArtifact 该login命令将使用您的存储库端点信息和凭据配置您的 ~/.npmrc 文件。 CodeArtifact 在 Yarn 1.X 中,yarn 命令使用 ~/.npmrc 文件中的配置信息。

使用 login 命令配置 Yarn 1.X
  1. 如果您尚未执行此操作,请按照中所述配置您的 AWS 凭据以 AWS CLI与一起使用入门 CodeArtifact

  2. 要成功运行 aws codeartifact login 命令,必须安装 npm。有关安装说明,请参阅 npm 文档中的下载和安装 Node.js 和 npm

  3. 使用aws codeartifact login命令获取 CodeArtifact 凭据并配置您的 ~/.npmrc 文件。

    • my_domain用您的 CodeArtifact 域名替换。

    • 111122223333替换为域名所有者的 AWS 账户 ID。如果您要访问您拥有的域中的存储库,则无需包括 --domain-owner。有关更多信息,请参阅 跨账户域

    • my_repo替换为您的 CodeArtifact 存储库名称。

    aws codeartifact login --tool npm --domain my_domain --domain-owner 111122223333 --repository my_repo

    login 命令对 ~/.npmrc 文件进行以下更改:

    • CodeArtifact 使用您的 AWS 凭证获取授权令牌后,添加授权令牌。

    • 将 npm 注册表设置为通过 --repository 选项指定的存储库。

    • 对于 npm 6 及更低版本:添加 "always-auth=true",为每个 npm 命令发送授权令牌。

    调用 login 后的默认授权期为 12 小时,且必须调用 login 来定期刷新令牌。有关使用 login 命令创建的授权令牌的更多信息,请参阅 使用 login 命令创建的令牌

  4. 对于 npm 7.X 和 8.X,必须将 always-auth=true 添加到 ~/.npmrc 文件中才能使用 Yarn。

    1. 在文本编辑器中打开 ~/.npmrc 文件并在新行中添加 always-auth=true

您可以使用 yarn config list 命令来检查 Yarn 是否使用了正确的配置。运行命令后,请检查 info npm config 部分中的值。其内容看起来类似于以下代码段。

info npm config { registry: 'https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/', '//my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:_authToken': 'eyJ2ZXI...', 'always-auth': true }

使用 yarn config set 命令配置 Yarn 2.X

以下程序详细说明了如何使用 yarn config set 命令从命令行更新 .yarnrc.yml 配置,从而配置 Yarn 2.X

从命令行更新 yarnrc.yml 配置
  1. 如果您尚未执行此操作,请按照中所述配置您的 AWS 凭据以 AWS CLI与一起使用入门 CodeArtifact

  2. 使用aws codeartifact get-repository-endpoint命令获取 CodeArtifact 仓库的终端节点。

    • my_domain用您的 CodeArtifact 域名替换。

    • 111122223333替换为域名所有者的 AWS 账户 ID。如果您要访问您拥有的域中的存储库,则无需包括 --domain-owner。有关更多信息,请参阅 跨账户域

    • my_repo替换为您的 CodeArtifact 存储库名称。

    aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm
  3. 使用存储库端点更新 .yarnrc.yml 文件中的 npmRegistryServer 值。

    yarn config set npmRegistryServer "https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"
  4. 获取 CodeArtifact 授权令牌并将其存储在环境变量中。

    注意

    以下命令适用于 macOS 或 Linux 计算机。有关在 Windows 计算机上配置环境变量的信息,请参阅使用环境变量传递身份验证令牌

    • my_domain用您的 CodeArtifact 域名替换。

    • 111122223333替换为域名所有者的 AWS 账户 ID。如果您要访问您拥有的域中的存储库,则无需包括 --domain-owner。有关更多信息,请参阅 跨账户域

    • my_repo替换为您的 CodeArtifact 存储库名称。

    export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
  5. 使用yarn config set命令将您的 CodeArtifact 身份验证令牌添加到.yarnrc.yml 文件中。将以下命令中的 URL 替换为步骤 2 中的存储库端点 URL。

    yarn config set 'npmRegistries["https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"].npmAuthToken' "${CODEARTIFACT_AUTH_TOKEN}"
  6. 使用 yarn config set 命令将 npmAlwaysAuth 的值设置为 true。将以下命令中的 URL 替换为步骤 2 中的存储库端点 URL。

    yarn config set 'npmRegistries["https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"].npmAlwaysAuth' "true"

配置完成后,.yarnrc.yml 配置文件的内容应与以下代码段类似。

npmRegistries: "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/": npmAlwaysAuth: true npmAuthToken: eyJ2ZXI... npmRegistryServer: "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/"

您也可以使用 yarn config 命令来检查 npmRegistriesnpmRegistryServer 的值。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。