我无法将软件包发布到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.
这显然表明我尚未登录,但这显然也不正确。我不明白为什么我无法发布。你能解释我在做什么错吗?
另一条信息是,该信息曾经起作用,并且我们已经发布了此软件包的许多版本,但是最近尚未发布。这只是我们遇到的最新变化。
答案 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