无法发布到npm注册表,出现401错误

时间:2019-06-14 22:55:28

标签: npm

我无法将软件包发布到npm。我以具有对该软件包正确访问权限的用户身份登录。

登录后,我运行以下命令以显示我已登录:

$ npm whoami
ganchrowsci

然后我运行以下命令以确保当前用户有权访问当前软件包:

$ npm access ls-collaborators
{
  "ganchrowsci": "read-write"
}

然后运行发布,并以错误结束:

$ npm publish
...<snip>
npm ERR! code E401
npm ERR! 401 Unauthorized - PUT http://registry.npmjs.com/gs-utils - You must be logged in to publish packages.

这显然表明我尚未登录,但这显然也不正确。我不明白为什么我无法发布。你能解释我在做什么错吗?

另一条信息是,该信息曾经起作用,并且我们已经发布了此软件包的许多版本,但是最近尚未发布。这只是我们遇到的最新变化。

2 个答案:

答案 0 :(得分:7)

我在npm(https://www.npmjs.com/)中创建了一个帐户。 然后在该帐户中创建一个令牌。

以下命令对我有用:

npm adduser --registry=https://registry.npmjs.org/:_authToken=<token-from-npm>

答案 1 :(得分:0)

以下对我有用:

npm adduser --registry=https://registry.npmjs.com

即使我的.npmrc中指定了注册表,我也需要明确指定注册表:

//registry.npmjs.org/:_authToken=XXXXXXX