发布NPM包时遇到的一些问题记录
问题1
1 | npm ERR! publish Failed PUT 403 |
这是注册的npm账号邮箱未进行验证,先去验证。一开始出现这个原因我是邮箱填错一直没收到邮件。
问题2
在发布npm
包的时候可能会出现报错信息:
1 | npm ERR! 403 403 Forbidden - PUT https://registry.npm.taobao.org/@hackycy%2fegg-typeorm - [no_perms] Private mode enable, only admin can publish this module |
出现这个问题是因为当前设置的是cnpm
登录到的是cnpm
,所以需要切换回来。
之前登录的时候就提出登录的是taobao
只不过那个时候没注意。
可以输入一下命令查看当前的登录源:
1 | $ npm config get registry |
可以看到返回的地址是淘宝源,需要切回到npmjs源,输入以下命令:
1 | $ npm config set registry=http://registry.npmjs.org |
设置完之后在查看当前登录的源地址:
1 | $ npm config get registry |
然后重新npm login
再发布即可。
问题3
1 | npm ERR! publish Failed PUT 403 |
你的包和别人的包重名了,npm 里的包不允许重名,所以去 npm 搜一下,改个没人用的名字就可以了。或者用@your-name/your-package
来命名。
问题4
无法发布私有包:
1 | npm ERR! publish Failed PUT 402 |
大多数是因为当你的包名为@your-name/your-package
时才会出现,原因是当包名以@your-name
开头时,npm publish
会默认发布为私有包,但是 npm 的私有包需要付费,所以需要添加如下参数进行发布:
1 | npm publish --access public |
参考资料
https://blog.csdn.net/weixin_38080573/article/details/88080556