npm升级所有可更新包

使用npm管理node的包,可以使用npm update <name>对单个包升级,对于npm的版本大于 2.6.1,可以使用命令:

npm install -g

升级全局的本地包。

对于版本小于2.6.1的一个一个包的升级实在是太麻烦,就想找到一个升级所有本地包的方法,找到两个比较好的方式:shell脚本npm-ckeck

shell脚本

使用shell脚本升级npm包,首先所在找到需要升级的包和版本号,再使用npm install完成升级。
npm -g是管理本地全局包的命令。通过npm -g outdated可以查看那些包有更新:

npm -g outdated 

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还可以使用目录的方式展示,再从中提取出包名和版本号。

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/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-check是用来检查npm依赖包是否有更新,错误以及不在使用的,我们也可以使用npm-check进行包的更新。
安装npm-check:

npm install -g npm-check

检查npm包的状态:

npm-check -u -g

CA5E1D6E-93B8-40CA-B190-273B87364C8C.png

通过上下键可以移动光标,使用空格键可以选择需要处理的包,回车直接进行处理。
选择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

<think>好的,用户想了解如何使用npm升级指定到最新版本。我需要先回忆一下相关的npm命令。根据之前的引用内容,特别是引用2和3,提到了几种方法。首先,用户可能需要先查看当前安装的版本,可以用npm list <package>来检查。然后,升级到最新版本的话,可以使用npm install <package>@latest,或者使用npm update <package>。不过要注意,npm update在默认情况下可能会受到package.json中的版本限制影响,比如如果指定了波浪号或插入符号,可能不会升级到最新的大版本。而使用npm install <package>@latest则会强制安装最新版本,不管之前的版本限制如何。需要提醒用户注意这一点,确保升级后的版本不会导致项目出现问题。另外,可能需要加上-S或--save等参数来更新package.json文件中的版本信息,但根据引用中的示例,用户可能在使用--save-dev或者其他类似的参数。所以,在回答中应该详细说明这两种方法的区别,并给出具体的命令示例,比如npm update package-name --save或者npm install package-name@latest --save,根据用户的需要选择合适的方式。同时,建议用户升级前先查看可用的最新版本号,使用npm view package-name version,这样确认后再进行升级操作会更安全。最后,要确保命令的正确性,避免用户因为拼写错误或其他问题导致升级失败。</think>要使用npm将指定升级到最新版本,可以按照以下步骤操作: ### 第一步:查看当前已安装版本 ```bash npm list <package-name> ``` 示例:查看`axios`的当前版本 ```bash npm list axios ``` 这会显示本地项目中安装的具体版本号[^3]。 ### 第二步:查看最新可用版本 ```bash npm view <package-name> version ``` 示例:查看`axios`最新版本 ```bash npm view axios version ``` 通过此命令确认目标版本号[^2]。 ### 第三步:执行升级操作 #### 方法1:使用`@latest`标签安装最新版 ```bash npm install <package-name>@latest --save ``` 示例:升级`express` ```bash npm install express@latest --save ``` 这会覆盖旧版本并更新`package.json`中的版本范围[^2]。 #### 方法2:使用`update`命令(受版本符号限制) ```bash npm update <package-name> --save ``` 示例:升级`lodash` ```bash npm update lodash --save ``` 注意:此命令仅在`package.json`中版本符号(如`^`或`~`)允许的范围内更新[^3]。 ### 验证升级结果 ```bash npm list <package-name> ``` 检查输出的版本号是否与最新版本一致[^2][^3]。 ### 补充说明 1. **全局升级**:添加`-g`参数(如`npm update -g <package-name>`) 2. **开发依赖**:使用`--save-dev`代替`--save` 3. **版本锁定**:若需固定版本号,可手动修改`package.json`后运行`npm install`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值