windows上升级npm

公司也很醉,开发环境一直要求node v0.12.x版本,不然node-sass不支持。而windows上node和npm是一起安装的,所以npm其实是安装在了nodejs的安装目录下,有一个npm和npm.cmd。网上的npm升级都很简单:

npm install -g npm@latest

然后,就没有然后了。很多人根本升级不成功,跟我一样,于是我就谷歌搜啊,各种说法都有,最后没一个解决的。于是自己思考一下呗。

为什么用npm -g安装的包可以使用全局命令呢?因为有环境变量这个东西,路径设置好之后,执行命令会先到这个路径下去看看,有可执行的就执行。npm的包路径是C:\Users\youname\AppData\Roamingpm,所以npm -g安装的包都产生了对应的.cmd文件,在命令行就可以用全局命令。但是npm本身这个包不能这么搞,npm install的包全部在这个路径下,但是你执行npm命令的时候,其实是使用的node安装目录下的那个npm。怎么解决?把node安装目录下的那个npm删掉咯。于是愉快玩耍。

参考:http://skychang.github.io/2014/09/13/npm-%E7%82%BA%E4%BB%80%E9%BA%BC%E5%9C%A8Windows%E5%BA%95%E4%B8%8B%E6%9B%B4%E6%96%B0npm%E7%84%A1%E6%95%88/