管理 Node.js 软件包

Artifact Registry 支持您通过 npm 管理的 Node.js 软件包。

概览

如需熟悉 Artifact Registry 中的 Node.js 软件包,您可以试用快速入门

当您准备好了解详情时,请阅读以下信息:

  1. 如果您刚接触 npm,请阅读以下概念:
  2. 为软件包创建 Node.js 软件包代码库
  3. 向需要授权的账号授予权限 将与代码库建立连接用于常见集成的服务账号 具有 Artifact Registry 的以下项目的默认权限: 多个代码库。
  4. 配置工具:
  5. 了解如何管理软件包

使用镜重

npm 范围是用于对软件包进行分组的标签。处理多个 npm 注册表时需要指定范围,其中包括:

  • 在不同注册表中发布和安装软件包,无需从一个注册表切换到另一个注册表。例如,您的 build 可能包含来自公共 npm 注册表和 Artifact Registry 代码库的软件包。
  • 将相同的软件包发布到各个 Google Cloud 项目的多个 Artifact Registry 代码库以及其他 npm 注册表,而不会出现软件包名称冲突的情况。

我们建议您始终为代码库设置范围。如果您在发布或安装软件包时未指定范围,npm 会使用已配置的默认注册表,例如公共 npm 注册表。

您可以在 .npmrc 配置文件中为每个 Artifact Registry 代码库设置范围。在各个代码库中进行身份验证时适用相同的凭据。

以下示例展示不同项目中的两个 Artifact Registry 代码库的配置。

  • @blue 范围适用于项目 blue-project 中的代码库。
  • @green 范围适用于项目 green-project 中的代码库。
@blue:registry=https://us-central1-npm.pkg.dev/blue-project/blue-npm-repo/
//us-central1-npm.pkg.dev/blue-project/blue-npm-repo/:always-auth=true

@green:registry=https://us-central1-npm.pkg.dev/green-project/green-npm-repo/
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:_authToken=""
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:always-auth=true

对 Artifact Registry 进行身份验证后,您可以使用适当的范围将软件包上传到特定代码库。例如, 以下命令可将软件包上传到项目中的 blue-npm-repo blue-project:

npm publish @blue/blue-npm-repo

如需详细了解范围,请参阅 npm 文档

配置 npm

用于身份验证的设置存储在 .npmrc 配置文件中。您可以在项目级、用户级或全局级配置 .npmrc 文件。

使用 Artifact Registry 配置身份验证时,您需要定义 要连接的代码库及其凭据 身份验证。

Artifact Registry 制品库

我们建议在每个项目的配置文件中设置代码库列表。 此文件通常与 npm 项目中的 package.json 文件位于同一目录中。Artifact Registry 凭据帮助程序会检查此 .npmrc 您的代码库

如果您不想在源代码控制工具中公开代码库路径 您可以:

  • 在源代码控件的要忽略的文件列表中添加 .npmrc 文件名。
  • 请改为在每个用户的配置文件中存储代码库列表。通过 每个用户的 .npmrc 文件位于您的用户主目录中,或者使用 npm --userconfig 参数或 $NPM_CONFIG_USERCONFIG 环境 变量。除非您在项目级别替换这些设置,否则每位用户配置文件中的设置会应用于您的所有项目。
Artifact Registry 凭据

将 Artifact Registry 的凭据存储在每个用户配置文件中,使其他用户不可使用这些凭据。此文件位于用户主目录中,或者使用 npm --userconfig 参数或 $NPM_CONFIG_USERCONFIG 环境变量进行设置。

Artifact Registry 凭据帮助程序存储在公共 npm 注册表中,不需要 身份验证。

您应保留 .npmrc 文件中配置的所有现有的默认注册表。默认值通常设置为 https://registry.npmjs.org/ 的公共 npm 注册表。

如需查看当前默认的注册表值,请运行以下命令:

npm get registry

如需详细了解 npm 配置文件,请参阅 npm 配置文件文档。