将 npm 项目连接到 Azure Artifacts

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019

开发人员可以使用 Azure Artifacts 管理来自各种源的包,包括公共注册表(如 npmjs.com)和私有源。 若要使用 Azure Artifacts 进行身份验证,需要配置 npm 配置文件。 此文件包含 npm 使用的源 URL 和凭据,提供自定义 npm 客户端行为的选项,例如设置代理、定义默认包位置或配置专用包源。 npmrc 文件通常位于用户的主目录中,但也可在项目级别创建以替代默认设置。

先决条件

连接到源

Azure Artifacts 建议使用两个单独的配置文件。 第一个专用于使用 Azure Artifacts 进行身份验证,而第二个应保存在本地以存储凭据。 此方法允许你在确保凭据安全的同时共享配置文件。

若要设置第二个文件,请将该文件放在开发计算机上的主目录中,并包括所有注册表凭据。 这使 npm 客户端可以轻松访问您的凭据以进行身份验证。

以下步骤将指导你设置第一个配置文件。 选择与开发环境对应的选项卡:

备注

Azure DevOps Server 不支持 vsts-npm-auth

  1. 登录到 Azure DevOps 组织,然后导航到项目。

  2. 选择工件,然后选择连接到源

    显示如何连接到 Azure DevOps Services 中的源的屏幕截图。

  3. 从左侧边栏中选择 npm。 如果这是首次将 Azure Artifacts 与 npm 配合使用,请确保已安装必备组件。

  4. 按照项目设置部分中的说明连接到源。

    显示如何设置 npm 项目的屏幕截图。

  1. 登录到 Azure DevOps 集合,然后导航到项目。

  2. 选择工件,然后选择连接到源

    显示如何在 Azure DevOps Server 2022.1 中连接到 feed 的屏幕截图。

  3. 从左侧栏中选择 npm,然后按照 项目设置 部分中的说明设置配置文件。

    显示如何在 Azure DevOps Server 2022.1 中设置 npm 项目的屏幕截图。

  1. 登录到 Azure DevOps 集合,然后导航到项目。

  2. 选择工件,然后选择连接到源

    显示如何连接到 Azure DevOps Server 2020.1 中的源的屏幕截图。

  3. 从左侧选择 npm,然后按照 项目设置 中的说明来配置您的配置文件。

    显示如何在 Azure DevOps Server 2020.1 中设置 npm 项目的屏幕截图。

提示

在 .npmrc 文件中,可以使用多个注册表,这种支持适用于 范围上游源

故障排除

vsts-npm-auth 无法识别

此错误表示尚未将 npm modules 文件夹添加到路径。 重新运行 Node.js 设置,并确保选择 Add to PATH 选项。 或者,可以通过将 PATH 变量修改为命令提示符中的 %APPDATA%\npm 或在 PowerShell 中 $env:APPDATA\npm,将 npm modules 文件夹添加到路径。

显示如何设置 node.js的屏幕截图。

无法进行身份验证

  • 错误:代码 E401 npm ERR!无法对进行身份验证: -> 使用 vsts-npm-auth 标志运行 命令以重新进行身份验证:

    vsts-npm-auth -config .npmrc -F
    

重置 vsts-npm-auth

请按照以下步骤重设您的 vsts-npm-auth 凭据:

  1. 卸载 vsts-npm-auth:

    npm uninstall -g vsts-npm-auth
    
  2. 清除 npm 缓存:

    npm cache clean --force
    
  3. 删除 .npmrc 文件。

  4. 重新安装 vsts-npm-auth:

    npm install -g vsts-npm-auth --registry https://registry.npmjs.com --always-auth false
    

无法发布

如果遇到 403 错误,则可能表示名称冲突。 在 Azure Artifacts 中,包是不可变的,这意味着一旦将包发布到您的包源后,其版本号将被永久保留并不能更改。 即使删除了它,也不能发布具有相同版本号的新包。 若要解决此问题,请更新 package.json 文件中的包版本,然后重试。