【问题标题】:NPM: 403 forbidden - PUT http://registry.npmjs.org/[package-name] - ForbiddenNPM:403 禁止 - PUT http://registry.npmjs.org/[package-name] - 禁止
【发布时间】:2020-08-18 20:20:01
【问题描述】:

我正在尝试创建npm vue component library。我一直在努力完成所有步骤,但停留在npm publish

请看下面的错误截图,我在尝试一个多小时后无法在谷歌上找到解决方案(错误信息不是那么准确,恕我直言,或者我无法捕捉到它)。

供参考package.json

{
  "name": "@satyam/vue-components",
  "version": "0.1.0",
  "main": "./dist/satyam.common.js",
  "files": [
    "dist"
  ],
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "build-library": "vue-cli-service build --target lib --name satyam ./src/components/index.js",
    "test:unit": "vue-cli-service test:unit",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "core-js": "^3.6.4",
    "vue": "^2.6.11"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.3.0",
    "@vue/cli-plugin-eslint": "~4.3.0",
    "@vue/cli-plugin-unit-jest": "~4.3.0",
    "@vue/cli-service": "~4.3.0",
    "@vue/eslint-config-standard": "^5.1.2",
    "@vue/test-utils": "1.0.0-beta.31",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-import": "^2.20.2",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-standard": "^4.0.0",
    "eslint-plugin-vue": "^6.2.2",
    "node-sass": "^4.12.0",
    "sass-loader": "^8.0.2",
    "vue-template-compiler": "^2.6.11"
  }
}

运行后npm audit

任何帮助将不胜感激:)

【问题讨论】:

    标签: vue.js npm npm-publish


    【解决方案1】:

    更新:新用户需要先确认他们的帐户

    所以经过相当多的研究和挖掘,我在这里找到了真正的问题。

    它可能记录在某个很深的地方或用浅色字体,但我完全找不到它。

    你的包名应该跟在你的npm username之后。

    在我的package.json 名称属性中是@satyam/vue-components,它应该是@satyamninja/vue-components,就是这样。我成功发布了包。

    【讨论】:

    • 为未来的人们。 403 禁止可能是因为 @satyam 的 ORG 范围已被占用。为了清楚起见,npm username 不需要遵循您的包范围。
    【解决方案2】:

    如果您是新用户,请先确认您的帐户!

    【讨论】:

    • 谢谢,这立即解决了我的问题。这么简单
    • 很高兴,我能帮上忙!
    • 谢谢...救了我一些心痛。为什么 npm 不告诉您确认您的帐户。您创建帐户的原因可能是为了尝试发布一些内容。
    【解决方案3】:

    这篇文章帮助我克服了 403 错误,但是,在通过他们发送的电子邮件链接确认我的帐户并登录 NPM 后,我又尝试了一次,然后我收到以下错误:

    402 需要付款 - PUT https://registry.npmjs.org/@jcarbajal79%2fsimplelib3 - 您必须注册私人包。

    如果你有同样的问题是因为库被发布为私有,我检查了我的 package.json 并测试了以下内容:

    没有属性:“私有”:“...”。 - 不工作 属性集“private”:“true” - 不起作用 属性集 "private":"false" - 不起作用

    原来你必须从命令行公开发布它:

    %> npm 发布 --access=public。 - 有效!。

    【讨论】:

    • 非常感谢,这也为我做了!
    【解决方案4】:

    听起来您是新用户。您需要确认您的帐户。应该从 npm 站点收到电子邮件确认。

    【讨论】:

      【解决方案5】:

      我曾经遇到过这个错误,经过一番搜索,我想出了如何解决它。您将获得403 forbidden error,因为可能在 NPM 上发布了另一个与您尝试发布的包同名的包,您必须将其更改为另一个名称。为此,您可以转到您的 package.json 并编辑包的名称。

      【讨论】:

        【解决方案6】:

        如果上面提到的答案对任何人都不起作用,那么您需要检查您的电子邮件是否已通过 npm 帐户验证,如果未通过验证,请进行验证,您将能够毫无问题地发布。

        【讨论】:

          猜你喜欢
          • 2012-01-08
          • 2014-10-31
          • 2021-11-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多