Node.js NPM错误代码E401:无法验证,需要:承载授权

Node.js NPM错误代码E401:无法验证,需要:承载授权,node.js,npm,npm-install,Node.js,Npm,Npm Install,我从GitHub下载了一个NodeJS应用程序,在执行npm安装时遇到以下错误 npm ERR! code E401 npm ERR! Unable to authenticate, need: Bearer authorization_uri=https://login.windows.net/c1156c2f-a3bb-4fc4-ac07-3eab96da8d10, Basic realm="https://pkgsprodeus21.pkgs.visualstudio.com/&

我从GitHub下载了一个NodeJS应用程序,在执行npm安装时遇到以下错误

npm ERR! code E401
npm ERR! Unable to authenticate, need: Bearer authorization_uri=https://login.windows.net/c1156c2f-a3bb-4fc4-ac07-3eab96da8d10, Basic realm="https://pkgsprodeus21.pkgs.visualstudio.com/", TFS-Federated
我的节点版本是6.13.1,NPM版本是6.13.4 以下是package.json文件的内容:

{
  "name": "DemoApp",
  "version": "1.0.0",
  "description": "A social oasis for lovers of pizza.",
  "repository": "****",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "****",
  "license": "MIT",
  "dependencies": {
    "@hapi/boom": "7.4.2",
    "@hapi/catbox": "10.2.1",
    "@hapi/catbox-redis": "5.0.2",
    "@hapi/cookie": "10.1.0",
    "@hapi/good": "8.2.0",
    "@hapi/good-squeeze": "5.2.0",
    "@hapi/hapi": "18.3.1",
    "@hapi/inert": "5.2.1",
    "@hapi/joi": "15.1.0",
    "@hapi/vision": "5.5.2",
    "aws-sdk": "2.488.0",
    "bcryptjs": "2.4.3",
    "bootflat": "2.0.4",
    "fs-extra": "8.1.0",
    "handlebars": "4.1.2",
    "lodash": "4.17.13",
    "pg": "7.11.0",
    "sequelize": "5.9.4"
  }
}
从昨天开始,我就一直在这个问题上苦苦挣扎,仍然没有找到解决办法。
任何帮助都将不胜感激。

我遇到了完全相同的错误,结果证明这是个人访问令牌(PAT)的问题。更新PAT并运行
vsts npm auth

使用
npm安装-注册表https://registry.npmjs.org
而不是
npm安装

这对我来说很有效。 首先,删除用户文件夹中的.npmrc文件。此文件夹:

C:\Users\[your user name]
然后在包含.npmrc文件的项目文件夹中运行此命令:

npx vsts-npm-auth -config .npmrc

我通过以下命令解决了这个问题:

npm logout/npm login

使用命令
better vsts npm auth
,它应该可以工作。

如果您在升级到npm v7后获得带有专用npm注册表的E401,请删除包-lock.json并重新安装


.npmrc中的注册表url设置需要与package-lock.json中的http/https协议完全匹配。

无需删除.npmrc文件,以下内容对我有效

npm logout
然后


从用户主目录中删除旧的.npmrc文件,然后运行以下命令


vsts npm auth-config.npmrc-T$HOME/.npmrc

您可以发布到github的链接吗?我希望其中一个依赖项是安全的。您没有将承载令牌传回,这似乎是要检查的:-它也适用于react/angular或任何其他前端调用API到后端。我只是将您的package.json文件复制粘贴到一个空目录中,然后运行
npm I
,它正确安装了所有内容。你能试着在干净的环境里做吗?另外,你使用什么操作系统?你能运行“npm whoami”吗?如果这返回了什么,请尝试“npm注销”,然后尝试npm iagain@SebastianKaczmarek我使用的是Windows 10。这对我来说很有效,所以我的问题得到了解决,但它没有解决根本问题。有一个单独的身份正在寻找一个地址,我不再有身份验证来获取这个包。你知道我可以在哪里更改吗?@James检查c:\users\\.npmrcI下的.npmrc文件。npmrcI还有一个本地.npmrc文件,其中包含Github注册表的注册表定义。这修复了我的npm ci和npm运行测试命令在Linux(例如Ubuntu)中不起作用的问题:
vsts npm auth:Exec格式错误
vsts-npm-auth -config .npmrc