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