npm发包问题排查
npm包发布问题排查记录
https升级
本文章写于2021/10/14,npm在四月已经发布通知,弃用http纯文本链接,采用https链接,如果未升级,会提示E426
错误,解决办法:
npm install -g https://tls-test.npmjs.com/tls-test-1.0.0.tgz 复制代码
如果看见
Hello! The tls-test package was successfully downloaded and installed. Congratulations! Your package manager appears to support TLS 1.2.
则表示安装成功,如果失败了,建议npm
升级到v7
并且检查node
版本
注册源相关
发布npm包时,请将注册源切换为npm原始的https网址!注意,是https网址!
npm config set registry=https://registry.npmjs.org 复制代码
无权限403
npm ERR! publish Failed PUT 403 npm ERR! code E403 复制代码
名字重复了,npm官网搜索排查一下
包名字带@,例如
@vue/cli
,这里拿@vue
为例解释下,@vue
其实代表的是一个npm-organization
名字为vue
的组织,所以如果你的包名字为@husky/cli
,则你需要新建一个husky
的organization
,新建完以后记得本地执行npm login
重新登录下,这样才能成功发布
private
npm ERR! publish Failed PUT 402 npm ERR! code E402 npm ERR! You must sign up for private packages : 复制代码
包的名字带@引起的,是当包名以@your-name
开头时,npm publish
会默认发布为私有包,但是 npm 的私有包需要付费,所以需要添加如下参数进行发布:
npm publish --access public
作者:Sadness
链接:https://juejin.cn/post/7018760704882638856