npm ERR!403 403禁止npm发布

15

我试图在npm上发布一个公共包,但是出现了这个错误:

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/@clem_b%2fweather - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy, or
npm ERR! 403 on a server you do not have access to.

所以首先观察我的package.json如下。

{
  "name": "@clem_b/weather",
  "version": "1.0.6",
  "description": "weather cli",
  "main": "build/main.js",
  "types": "build/main.d.ts",
  "homepage": "https://github.com/ClementBolin/weatherCLI#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ClementBolin/weatherCLI.git"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "rimraf ./build && tsc",
    "start": "npm run build && node build/mai.js"
  },
  "bin": {
    "app": "bin/weatherCLI"
  },
  "keywords": [
    "weather",
    "today",
    "rain",
    "sun"
  ],
  "author": "clem_b",
  "license": "MIT",
  "devDependencies": {
    "@types/minimist": "^1.2.0",
    "@types/node": "^14.14.6",
    "@types/oauth": "^0.9.1",
    "@types/ora": "^3.2.0",
    "rimraf": "^3.0.2",
    "tslint": "^6.1.3",
    "typescript": "^4.0.5"
  },
  "prepublish": "npm run build",
  "dependencies": {
    "minimist": "^1.2.5",
    "oauth": "^0.9.15",
    "ora": "^0.3.0"
  }
}

写完代码后,我决定在npm上发布我的代码,因此我创建了npm账户,并使用npm login连接到我的账户。之后,我运行以下命令npm publish --access public,但是出现了一个错误。我查询了很多主题,但是没有找到解决方案。

8个回答

23

我自己也遇到了这个问题。我创建了一个新的NPM账户,然后立即通过npm login进行了身份验证。

接着,我运行了npm publish --access public命令,结果收到了完全相同的错误消息。

我最终通过验证我的NPM邮件账户来解决了这个问题(唉)。


5
我也需要进行电子邮件验证。 - ggat
3
同感...文档中能有一点提示就太好了。 - Gregor Sklorz

4

可能已经有一个同名的包存在于npm上了。请在package.json中更改包名称,然后重试。


1

0
所以我的情况是,我正在使用jenkins来发布npm包,使用npm publish时出现错误,表示我无法在1.0.0之后进行推送,因此在检查后,我发现在package.json文件中的版本中提到了“1.0.0”,因此我需要根据我的jenkins构建更改构建号码,我使用sed来完成。

0
在 npm 个人资料中,在“帐户”部分,您必须激活2FA,并在2FA选项中选择“授权和发布启用”。
如果已经这样做,请验证您的项目是否与另一个已注册的项目名称相同。如果是,则只需更改名称即可。

0

检查npm中是否保留了名称 在我的情况下,该名称已被使用 还可以尝试

sudo npm install -g https://tls-test.npmjs.com/tls-test-1.0.0.tgz

0

当您使用局域网(私有网络)并且该网络应用了IP限制时,也可能会发生这种情况。

在我的情况下,就是这种情况。


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

0

我更新了 package.json 中的名称部分,现在它可以正常工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接