NPM Publish Registry - 403 Forbidden - “您无权发布“...”

Posted

技术标签:

【中文标题】NPM Publish Registry - 403 Forbidden - “您无权发布“...”【英文标题】:NPM Publish Registry - 403 Forbidden - "You don't have permission to publish "..." 【发布时间】:2019-03-01 18:44:20 【问题描述】:

我一直在尝试将我的包发布到 NPM 注册表。 我收到一条错误消息,不允许将我的包推送到注册表。

403 Forbidden - PUT https://registry.npmjs.org/qdb - You do not have permission to publish "qdb". Are you logged in as the correct user?

我想知道为什么。

【问题讨论】:

【参考方案1】:

对于我来说,我刚刚创建 NPM 帐户时收到了这个 403 错误消息,但没有验证我帐户上的电子邮件地址。我找到了来自 NPM 的验证请求邮件,点击了链接,神奇地发布了我的第一个包。

【讨论】:

这个!谢谢!浪费了这么多时间。 谢谢!在这种情况下,npm 服务器可以提供更好的错误消息:) 谢谢,我没有检查我的邮件,现在它正在工作 为了胜利!谢谢亨利【参考方案2】:

看起来具有该名称的包已由其他人发布,因此您需要在 package.json 文件中使用不同的名称,然后再次使用 npm publish

否则,您可以查看是否要发布已发布的相同版本。

【讨论】:

我尝试使用另一个名称,但仍然遇到同样的错误。如果可能,请您提供其他解决方案吗? 这为我节省了很多时间 @Pavan,也许您发布的版本与已经发布的版本相同? @Pavan 我也遇到了同样的问题。你找到解决方案了吗? 他们应该说“已经存在”。顺便说一句,谢谢!【参考方案3】:

发生的原因可能是包名称重复或您从未验证过您的电子邮件地址。

【讨论】:

在我的情况下,我无法验证我的电子邮件地址,哈哈,所以你是对的【参考方案4】:

检查您发布的版本是否相同。我需要再次更新包的版本和npm publish。从我得到的 Forbidden 错误来看,它并不明显。

【讨论】:

【参考方案5】:

检查您的电子邮件注册并确认验证 最后重复发布你的包 我希望会起作用?

【讨论】:

【参考方案6】:

当组织名称已被占用时也会发生。使用以下网址:

https://www.npmjs.com/org/ORG_NAME_HERE

如果您收到“404 Not Found”错误,则表示该名称是免费的。否则不是。

【讨论】:

【参考方案7】:

可能有很多原因

    电子邮件未验证,因此请先通过 npmjs.com 验证您的电子邮件 其他人正在使用相同的包名,它必须是唯一的。所以 选择一个唯一的名称。 您可以在 package.json 文件下更改名称。 如果您要重新发布具有更改的相同包,则需要更改版本,例如 - 1.0.0 到 1.0.1。您也可以更改 package.json 文件下的 varsion 名称。

【讨论】:

【参考方案8】:

我刚刚验证了我的电子邮件并且错误消失了。现在我可以发布我的包了。

【讨论】:

【参考方案9】:

这样更改名称(也是版本) sample

  "name": "npm-helloworld-testwwwyy-xx",
  "version": "1.0.3"

【讨论】:

【参考方案10】:

别忘了你需要登录。

运行 npm login 能够发布包。

【讨论】:

【参考方案11】:

对我来说,这是重复的包名。在package.json 中更改包名称就可以了。可能还有其他两个原因:

    试试npm whoami。如果您没有显示用户名,请尝试npm login

    如果您尝试重新发布,请确保您根据需要运行 npm version major/minor/patch

【讨论】:

【参考方案12】:

如果您是 Ubuntu 用户,即使验证了电子邮件,也会发生这种问题。

在npm登录前添加sudo cmd,

sudo npm login

在发布模块时也使用 sudo

sudo npm publish

【讨论】:

【参考方案13】:

在我的情况下,我的 npm config 中的电子邮件与我的 npm 登录设置的电子邮件不同。

所以基本上您通过npm config ls -l 显示的email 应该与您在npmjs.com 帐户中指定的电子邮件相匹配。

【讨论】:

以上是关于NPM Publish Registry - 403 Forbidden - “您无权发布“...”的主要内容,如果未能解决你的问题,请参考以下文章

修改npm包管理器的registry为淘宝镜像(npm.taobao.org)

npm publish报错403 Forbidden - PUT http://XXX - forbidden;http fetch PUT 403 http://XXX ; verbose stac

[NPM] Publish npm packages using npm publish

taobao npm registry

npm pack / publish:找不到文件

npm publish