NPM:403 禁止 - PUT http://registry.npmjs.org/[package-name] - 禁止

Sat*_*hak 8 npm vue.js npm-publish

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

请参阅下面的错误屏幕截图,我尝试了一个多小时后无法在 google 上找到解决方案(错误消息不是那么准确恕我直言,或者我可能无法捕捉到它)。

在此处输入图片说明

以供参考 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"
  }
}
Run Code Online (Sandbox Code Playgroud)

运行后 npm audit

在此处输入图片说明

任何帮助将不胜感激 :)

Sat*_*hak 18

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

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

它可能记录在很深的地方或以浅色字体记录,但我完全没有找到它。

你的包名应该跟在你的npm username.

以我的package.json名义,财产@satyam/vue-components应该在那里@satyamninja/vue-components,就是这样。我成功发布了包。


Hef*_*faz 17

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

  • 谢谢,这立即解决了我的问题。很简单 (2认同)
  • 谢谢...让我免去一些心痛。为什么 npm 不告诉你确认你的帐户。您创建帐户的原因可能是尝试发布一些内容。 (2认同)

小智 9

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

402 Payment required - PUT https://registry.npmjs.org/@jcarbajal79%2fsimplelib3 - 您必须注册私人套餐。

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

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

结果你必须从命令行将其发布为公共:

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

  • 非常感谢,这也为我做到了! (3认同)