npm 模块的发布和删除

今日因为项目需求要在项目中加入该项目的版本号,但项目是编译生成,不可能手动添加版本号,可是这种小需求在网上也挺难找到插件的,无奈逼着自己去写插件了,可是看过文档后,发现开发插件也不是很难,花了一天功夫总算是可以了,所以写一篇博客总结一下,也许以后用的到,也为同样需要的人看一看我的过程,也许能有点作用。

grunt插件开发步骤

1.通过 npm install -g grunt-init 命令安装 grunt-init 。
2.通过 git clone git://github.com/gruntjs/grunt-init-gruntplugin.git ~/.grunt-init/gruntplugin 命令安装grunt插件模版。
3.在一个空的目录中执行 grunt-init gruntplugin 。
4.执行 npm install 命令以准备开发环境。
5.为你的插件书写代码。
6.执行 npm publish 命令将你创建的 Grunt 插件提发布npm!

发布过程出错

npm adduser
提示我在npmjs.org中登录了,但是没有任何发应了(这博文是后面再写的,错误不想再去重现了)
解决:找到Users\loki.luo的.npmrc文件将地址改为registry=http://registry.npmjs.org/ 或者执行npm cache clean和npm config set registry “http://registry.npmjs.org/
后面可能还会出现这种错误
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.)
解决:网上几乎都是说sudo npm install -g npm 但是我发现sudo在window下根本不识别,后来发现这是Linux下的命令,其实window下只需要在cmd中升级一下npm 的版本就可以了
npm install npm -g
然后再npm adduser注册一下npm的账号就好了他会将用户信息保存在.npmrc这个文件下
当然你也可以执行npm whoami/npm config ls查看认证的用户信息
然后执行npm publish 就可以将该模块发布上npm上了

发布后查看

发布模块后可以上https://npmjs.com/package/查看你的模块信息
其中README.md中的内容就是刚才在网页中看到的内容
模块名和地址信息都是在package.json中配置的

删除发布后的模块

$ npm unpublish 模块名@0.1.0
或者
$ npm unpublish –force 模块名

拓展

在npmjs官网头像设置有点有趣,花了几个小时去研究,发现了http://en.gravatar.com/这个网站,其实就是一个头像获取的网站,这个网站的想法挺好,只要你以后登录的网站调用了gravatar的后台,你在该网站显示的头像都将同步gravatar的头像信息。意思就是头像就代表你

window下安装多个node是环境变量被篡改

Appcan下
APPCAN_PATH F:\AppCan\AppCanStudioPersonalV3.3\HDK\emulator\mas
改为
需要更改的node目录 例如 C:\Program Files\nodejs\

参考文档

grunt文档
registry error parsing json
Publishing npm packages
npmjs.com