尽管在 .npmrc 文件中设置了令牌,但由于找不到私有包,npm 安装失败

Ran*_*shi 6 ubuntu node.js npm

环境详细信息如下:

  • 乌班图20.04
  • 节点v10.22.1
  • npm 6.14.6

我有一个前端项目(react),我需要在其中创建 CI/CD 管道。由于在npm install.

错误如下:

npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@org/package-name/-/package-name-0.1.24.tgz
npm ERR! 404 
npm ERR! 404  '@org/package-name@^0.1.24' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of 'project-name'
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/rando/.npm/_logs/2021-09-23T07_52_46_228Z-debug.log

Run Code Online (Sandbox Code Playgroud)

首先,我通过使用我在 npmjs.com 中的帐户进行身份验证来验证我是否有权访问此包。您可以在下面看到我是该组织的一部分,并且有权访问该组织的所有包。

在此输入图像描述

我已经配置了.npmrc位于 /home/user 中的文件,如下所示:

registry=https://registry.npmjs.com/
//registry.npmjs.com/:_authToken=${authToken}
Run Code Online (Sandbox Code Playgroud)

我已从我的npmjs.com帐户生成了多个身份验证令牌,并在将新生成的令牌放在.npmrc文件上后尝试运行 npm install 。

另外,我尝试单独安装该库,如下所示:

npm i @org/package-name
Run Code Online (Sandbox Code Playgroud)

但仍然失败,出现同样的错误 404。

我尝试登录终端,如下所示:

npm login
Username:
Password:
Email: (this IS public) {may email}
Logged in as {my username} on https://registry.npmjs.com/.

npm i @org/package-name
Run Code Online (Sandbox Code Playgroud)

但它仍然失败并出现同样的错误。对于解决这个问题的任何帮助,我将不胜感激。

问候,兰多。

Ran*_*shi 5

我可以通过修改.npmrc文件来解决这个问题,如下所示:

//registry.npmjs.com/:_authToken=${authToken}
Run Code Online (Sandbox Code Playgroud)

删除registry=https://registry.npmjs.com/解决了问题。我不太明白为什么指定注册表会导致这个麻烦。