使用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
包。