Azure DevOps管道中的npm身份验证失败

j5fpnvbx  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(163)

我遵循了将Angular应用程序部署到ADO管道的官方教程,这是我的yaml。

# Node.js with Angular

# Build a Node.js project that uses Angular.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

trigger:
- main

pool:
  vmImage: ubuntu-latest

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '18.x'
  displayName: 'Install Node.js'

- task: npmAuthenticate@0
  inputs:
    workingFile: '.npmrc'
- script: |
    npm install -g @angular/cli
    npm install
    ng build --prod
  displayName: 'npm install and build'

字符串
但是管道在npm install时失败,并出现以下错误:

npm ERR! code E401 
npm ERR! Unable to authenticate, your authentication token seems to be invalid.


应用程序在本地运行,但在管道中失败。对于上下文,应用程序使用来自外部组织的提要的库,并且在本地,我将我的凭据放在用户目录中的. npmrc和项目目录中的注册表中。
我试过将.npmrc与repo根目录中使用的注册表放在一起,我也试过使用我的用户.npmrc并将其保存在一个变量中,然后将其回显到yaml文件中的.npmrc中,但上述方法都没有帮助我解决这个问题。

rdrgkggo

rdrgkggo1#

在运行npm install之前需要进行身份验证。
确保在此之前将此步骤添加到管道中。
Azure项目凭据提供程序:
此提供程序是手动处理.npmrc文件的更好替代方案。

- script: |

npm install -g vsts-npm-auth
vsts-npm-auth -config .npmrc
displayName: 'Authenticate npm'

字符串
其他一些我过去遇到过的需要仔细检查的小事情:
确保根目录中的.npmrc文件使用正确的语法正确引用提要URL。

相关问题