引用:https://mp.weixin.qq.com/s/Z7mB4Z4Z6wkCJKrXFFumcQ. 记一次最近发布npm包的基本流程及遇到的问题。
1、在npm官网注册
https://www.npmjs.com/2、在命令行中注册
npm adduser // 按提示输入Username、Password、Email完成注册tip:在官网上登录时,用户名一定不要使用邮箱登录,
npm login // 按提示输入Username、Password、Email完成注册将需要发布的npm测试完毕后,开始输入进入项目根目录,执行发布命令
npm publish如果出现以下错误 则为邮箱验证问题,一般为第一次注册,需要验证邮箱之后,再次发布 #在官网登录,找到顶部的提示,如果没有,刷新几次就会出现下图中的文字提示 点击链接,npm会发送验证邮件到邮箱中,在邮箱中查看并验证,验证成功后再次执行
npm publish在这期间可能会出现npm包名重复的错误,报错如下
npm ERR! You do not have permission to publish "npmtest". Are you logged in as the correct user?将package.json中的项目名称更换,再次发布即可。
发布成功会出现以下提示 发布成功并出现当前发布npm包的版本号 再次到官网登录,你的项目记录下,就可以看到你刚刚发布的npm包
这里以我刚刚发布的处理格式化的npm包为例
下载、使用均正常。发布成功!
还可能出现的问题: 1、npm的源地址问题 很多国内的同学会将npm的镜像源指向淘宝,虽然速度上提高了,但在发布npm是发布在npm的镜像源上,所以,如果报以下错误,请将源地址改回npm的镜像源
报错:
npm ERR! 403 403 Forbidden - PUT https://registry.npm.taobao.org/canvas2file - [no_perms] Private mode enable, only admin can publish this module改正:
1、查看当前镜像地址 npm get registry 2、修改为npm镜像地址 npm config set registry https://registry.npmjs.org/`2、更新已经发布的npm包
一、在本地更新这个包的版本 ,两种方式
1、npm version <update_type> 2、直接在项目的package.json中更改version的值也可二、提交到远端npm中,使用命令npm publish tip: npm version update_type 有三个参数, 当前版本为1.0.0
1、patch:补丁 执行后:1.0.1
2、 minor:小修改 执行后: 1.1.0
3、 major:大版本迭代 补丁 执行后: 2.0.0