首页 > nodejs > faq > 2.发布Node模块到NPM社区

2.发布Node模块到NPM社区

nodejs项目中node_moudle目录中的代码是从npm源中下载下来.发布到npm社区后,可以在package.json文件中添加依赖,执行npm install自动下载.非常方便.

1 安装nrm方便切换npm源

npm安装nrm命令:

npm install nrm

参考使用nrm快速切换npm源

2 查看可用源

nrm ls

当前使用的源前边有`*`标识

3 发布前需要切换到npm的默认源

我们可能换成了国内淘宝的镜像:http://registry.npm.taobao.org. 淘宝镜像没有开放上传的权限,上传会报以下的错误:

npm ERR! publish Failed PUT 403

npm ERR! Error: no_perms Private modeenable,only admin can publish this module:

nodebb-plugin-route-cms

切换为默认源才可以上传,切换命令:

nrm use npm

4 使用grunt重新打包

如果项目需要用grunt重新打包则执行下面的命令,没有使用跳过这一步.

grunt build --force

5 修改package.json中对模块版本号

第一次提交默认版本号1.0.0,采用默认即可. 后续修改,需要比原版本号高. 例:

1.0.0

改为:

1.0.1

6 注册npmjs.com的账号

如果已经注册过账号,跳过这一步.注册地址: npmjs.com

这个是npmjs.com的账号,不是github的账号,账号名都为小写.

7 添加npm账号

npm adduser

按照提示,输入上一步注册的账号,邮箱和密码.

有时提示需要验证邮件. 如果没有收到验证邮件,可以登陆npmjs.com,上方有个提示`重新发送验证邮件`. 点击重新发送即可收到.

8 发布到npm社区

npm publish

9 切换回国内源更新

如果采用官方源更新速度快的话,可以不用切回国内源.

nrm use taobao

发布成功后,会有几分钟的延迟才能更新到最新版.

国内taobao源是每10分钟与npm服务器同步一次.

10 更新依赖包版本

修改package.json中对应的包的版本号.参考npm升级更新指定模块

package-lock.json是当 node_modules 或 package.json 发生变化时自动生成的文件.这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依赖,而忽略项目开发过程中有些依赖已经发生的更新.

如果不删除package.json.lock,会导致采用已有的版本,不更新新版本模块.

好了,npm世界尽在掌控之中.

转载请保留原文链接.