npm发布包报错403

7,653次阅读
没有评论

共计 1456 个字符,预计需要花费 4 分钟才能阅读完成。

npm 包发布 403 有几种可能的原因

1、npm 权限的原因,解决方案:npm publish –access=public。

2、npm 源地址不对,解决方案:

  • npm i -g nrm
  • nrm use npm 切换为 npm 官方的地址再尝试。
    3、package 的 name 属性与项目文件夹名称一致时可能会导致发布失败,解决方案:更改文件夹名称。

4、npm 版本过低,解决方案:npm i -g npm update

5、npmjs.org 官网可能存在同名的包,之前存在同名的包被删除后,24 小时之内不能重新发布。解决方案:打开链接
https://registry.npmjs.org/ 你的包名查看返回的数据:

  • 如果 npm 存在这个包名或者这个包名被 npm 官方占用会返回一大串 json 数据,更改包名即可。

  • 如果不存在这个包名会返回:{“error”:“Not found”}表示可以发布这个包名。

  • 包名存在时错误信息:

  npm ERR! code E403
  npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/xxx - You do not have permission to publish "xxx". Are you logged in as the correct user?
  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.

6、npm 账号注册后需要验证邮箱,没有验证会导致发布失败,解决方案:npmjs.org 登录账号点击右上角头像 – 再点击 Profile 验证邮箱。错误信息:

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/xxx-xxx-npm - 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.

7、version 版本不对,在已发布的包中直接发布相同的版本号会报错,解决方案:修改 package 的 version。

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/xxx - You cannot publish over the previously published versions: 1.0.0.
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.

8、发布带“@”开头的包时如果报 402 会提示没有权限,npm 认为你会发布私有包,私有包是需要购买的。
packages.json 设置 "private": false,且发布时使用命令npm publish --access public 表明是发布公有包。

注意:packages.json"name": "@用户名 / 包名" 用户名不能随便填,只能填当前登录的用户名。使用 npm whoami 查看当前登录的用户名。

原文地址: npm 发布包报错 403

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-11-10发表,共计1456字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)