使用npm管理node的包,可使用npm update <name>
对单个包升级,对于npm的版本大于 2.6.1
,可使用命令:node
npm install -ggit
升级全局的本地包。github
对于版本小于2.6.1
的一个一个包的升级实在是太麻烦,就想找到一个升级全部本地包的方法,找到两个比较好的方式:shell脚本
和npm-ckeck
shell
使用shell脚本升级npm包,首先所在找到须要升级的包和版本号,再使用npm install
完成升级。npm -g
是管理本地全局包的命令。经过npm -g outdated
能够查看那些包有更新:npm
npm -g outdated app
Package Current Wanted Latest Location appium 1.5.2 1.5.3 1.5.3 bower 1.7.0 1.7.9 1.7.9 cordova 5.4.1 6.2.0 6.2.0 eslint 2.13.0 3.0.0 3.0.0 fsevents 1.0.8 1.0.12 1.0.12 grommet 0.4.1 0.6.9 0.6.9 requirejs 2.1.22 2.2.0 2.2.0
这里列出来了,当前版本,和最后的版本,只须要获得全部须要升级的包名和版本号就可使用npm -g install <name>
直接升级了。npm -g outdated
还可使用目录的方式展现,再从中提取出包名和版本号。requirejs
npm -g outdated --parseable --depth=0ui
/usr/local/lib/node_modules/appium:appium@1.5.3:appium@1.5.2:appium@1.5.3 ...
在经过cut
命令就能够获得最后要升级版本号和包名:spa
npm -g outdated --parseable --depth=0 | cut -d: -f2eslint
appium@1.5.3 .....
完整的脚本:
#!/bin/sh set -e #set -x for package in $(npm -g outdated --parseable --depth=0 | cut -d: -f2) do npm -g install "$package" done
脚本下载地址:https://github.com/jjz/script/blob/master/npm-upgrade.sh
npm-check是用来检查npm依赖包是否有更新,错误以及不在使用的,咱们也可使用npm-check进行包的更新。
安装npm-check:
npm install -g npm-check
检查npm包的状态:
npm-check -u -g
经过上下键能够移动光标,使用空格键能够选择须要处理的包,回车直接进行处理。
选择npm@3.10.2
包升级到3.10.3
:
? Choose which packages to update. npm@3.10.3 $ npm install --global npm@3.10.3 --color=always /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/lib └─┬ npm@3.10.3 ├── aproba@1.0.4 ├── has-unicode@2.0.1 └── read-package-tree@5.1.5 [npm-check] Update complete! [npm-check] npm@3.10.3 [npm-check] You should re-run your tests to make sure everything works with the updates.
经过以上两种方式能够更便利的管理本地的npm
包。