发布
完成了上面的步骤之后,我们接下来要在www.npmjs.org注册一个账号,这个账号会被添加到npm本地的配置中,用来发布module用。
$ npm adduser
Username: your name
Password: your password
Email: yourmail[@gmail](/user/gmail).com
如果出现以下错误,可能是你的npm版本太低,通过sudo npm install -g npm
升级一下。
npm WARN adduser Incorrect username or password
npm WARN adduser You can reset your account by visiting:
npm WARN adduser
npm WARN adduser http://admin.npmjs.org/reset
npm WARN adduser
npm ERR! Error: forbidden may not mix password_sha and pbkdf2
npm ERR! You may need to upgrade your version of npm:
npm ERR! npm install npm -g
npm ERR! Note that this may need to be run as root/admin (sudo, etc.)
成功之后,npm会把认证信息存储在~/.npmrc
中,并且可以通过以下命令查看npm当前使用的用户:
$ npm whoami
以上完成之后,我们终于可以发布自己的module了:
$ npm publish --tag 0.1.0
npm http PUT https://registry.npmjs.org/easy_mongo
npm http 201 https://registry.npmjs.org/easy_mongo
+ easy_mongo[@0](/user/0).1.0
npm社区版本号规则采用的是semver(语义化版本),主要规则如下:
版本格式:主版号.次版号.修订号,版号递增规则如下:
主版号:当你做了不相容的 API 修改,
次版号:当你做了向下相容的功能性新增,
修订号:当你做了向下相容的问题修正。
先行版号及版本编译资讯可以加到「主版号.次版号.修订号」的后面,作为延伸。
至此,我们已经成功把module发布到了npmjs.org,是不是很简单,快动手把自己的module也贡献出来吧。
Have fun :)
如果重新发布,记得:
1 npm tag sm-command-init@1.2.4 latest
不然每次npm install 的时候,下载的还是老版本
2 如果更新了模块dependences 的模块内容,改模块对应的版本号也要修改,不然dependences 的模块,不会在更新的时候更新
参考
- https://github.com/npm/npm
- https://www.npmjs.org/doc/api/npm-publish.html
- https://www.npmjs.org/doc/cli/npm-adduser.html
- http://docs.travis-ci.com/user/languages/javascript-with-nodejs/
- http://docs.travis-ci.com/user/database-setup/
转自:http://cnodejs.org/topic/5364dcde31a870830700b847