npm包实践与常见问题

    科技2025-08-10  12

    npm发布及常见问题

    引用: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 init // 依次填入项目名称、版本、描述、关键词、github地址等等

    发布npm包

    将需要发布的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包

    这里以我刚刚发布的处理格式化的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

    Processed: 0.009, SQL: 8