【问题标题】:Npm publish to private scope keeps failingNpm 发布到私有范围不断失败
【发布时间】:2022-01-21 15:20:22
【问题描述】:

我最近创建了一个新组织,并采用了付费计划来发布无限的私人包。

但是,每次我尝试将我的包发布到我的组织时,它总是给我以下错误:

npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! Forbidden : @myScopeName/myPackageName

我已经注销,然后作为范围登录;像这样:

npm login scope=myScopeName

然后返回以下内容

logged in as myUserName to scope @myScopeName on http://registry.npmjs.org/

我已经检查了我的 .npmrc 文件,我有以下几行:

registry=http://registry.npmjs.org/
scope=myScopeName
@myScopeName:registry=http://registry.npmjs.org

但我仍然无法发布我的包。有谁知道我是否忘记了其他事情,或者根据上述内容我做错了什么?

谢谢!

【问题讨论】:

  • 我看到你在the official npm forums打开了一个报告,你能把它转换成一个错误报告吗?
  • 确保您登录到正确的用户:npm login 并按照说明进行操作。然后尝试再次发布。如果这没有帮助,请在 npm 网站中创建一个 .npmrc 文件和 create a token 并将其应用于该本地文件。 (把它放在 gitignore*/*npmignore

标签: npm package publish organization npm-publish


【解决方案1】:

这是一个可能有多种来源的错误。我将在下面列出一些可能性:

  1. 您的电子邮件地址未经过验证。
  2. 该包已分配给一个组,您不在其中。
  3. 您提供的包名称与您范围内现有的包名称相似。
  4. 范围名称中的拼写错误。
  5. 包名格式错误。
  6. ...

通过实验,我发现私有npm包的命名方案与officially documented不同。貌似私推的包不能包含下划线,可能其他的东西也和官方文档有冲突。

【讨论】:

  • 感谢您的回答!我将包名称中的下划线更改为破折号,然后发布工作。奇怪的是,根据他们的package.json documentation,这应该不是问题。
  • 就我而言,电子邮件地址未经过验证。验证后,npm publish 开始工作
【解决方案2】:

我有同样的问题。我有一个与该帐户关联的未经验证的电子邮件地址。验证帐户后,我能够发布包。如果它与另一个具有相似名称的包冲突,请检查包的名称。这可能是个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 2012-11-05
    • 2017-03-29
    • 2019-07-02
    • 2022-10-20
    • 2023-02-14
    • 2021-05-15
    相关资源
    最近更新 更多