npm升级所有可更新包
使用npm管理node的包,可以使用npm update 对单个包升级,但是没有命令能够把当前所有包都升级。
一个一个包的升级实在是太麻烦,就想找到一个升级所有本地包的方法:shell脚本和npm-ckeck
shell脚本
使用shell脚本升级npm包,首先所在找到需要升级的包和版本号,再使用npm install完成升级。
npm -g是管理本地全局包的命令。通过npm -g outdated可以查看那些包有更新:
npm -g outdated
Package Current Wanted Latest Locationappium 1.5.2 1.5.3 1.5.3bower 1.7.0 1.7.9 1.7.9cordova 5.4.1 6.2.0 6.2.0eslint 2.13.0 3.0.0 3.0.0fsevents 1.0.8 1.0.12 1.0.12grommet 0.4.1 0.6.9 0.6.9requirejs 2.1.22 2.2.0 2.2.0
这里列出来了,当前版本,和最后的版本,只需要得到所有需要升级的包名和版本号就可以使用npm -g install 直接升级了。
npm -g outdated还可以使用目录的方式展示,再从中提取出包名和版本号。
npm -g outdated --parseable --depth=0
/usr/local/lib/node_modules/appium:appium@1.5.3:appium@1.5.2:appium@1.5.3...
在通过cut命令就可以得到最后要升级版本号和包名:
npm -g outdated --parseable --depth=0 | cut -d: -f2
appium@1.5.3.....
完整的脚本:
# !/bin/shset -e# set -xfor 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-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包。
参考:https://gist.github.com/othiym23/4ac31155da23962afd0e
关键字:npm, #npm-ckeck#
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!