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#

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部