其实我们在写前端项目代码的时候,会使用npm install命令下载某个第三方依赖库到项目。之后在开发过程中就很少会去更新它的版本,因为项目一旦稳定运行了,再去更新依赖库到别的版本或者最新版,很可能会导致兼容性问题,明明项目代码完全没有bug和报错,搞不好就弄一堆bug出来了。
但是也有一些时候,我们急切需要更新第三方依赖库的版本,因为可能会需要用到该库的新特性新功能,并且新版本通常会修复老版本存在的不稳定的bug等等。那么我们如何使用node包管理工具npm来更新安装的第三方依赖库的版本呢。
1、查看库的最新版本
1 | //查看库的最新版本 |
其中的puppeteer是需要查看版本的第三方依赖库的名字,大家换成自己需要查询版本的库名称就行。根据查询,此时puppeteer的最新版本为20.5.0版本。
2、覆盖安装指定版本
1 | //安装最新版本库覆盖老版本库 |
我们在安装指定版本时,使用@符号加上对应版本号就行。
使用update命令更新版本
项目所对应依赖库的记录信息一般保存在package.json文件中,相对应版本号的形式一般为mojor.minor.patch。
major 表示非兼容的重大 API 改变(主要的)
minor 表示向后兼容的功能性改变(次要的)
patch 表示向后兼容的 bug 修正(修补的)
//依赖库对应版本号前缀符号含义*
匹配最新的 major 版本依赖库^
匹配最新的 minor 版本依赖库,eg: 1.1.0 可以更新匹配所有 1.x.x 的包,不会更新匹配 2.x.x~
匹配最新的 patch 版本依赖库,eg: 1.1.0 可以更新匹配所有 1.1.x 的包,不会更新匹配 1.2.x
更新指定依赖安装包(根据前缀符号更新,有时需要在 package.json 手动更改依赖库相应版本号再更新)
1 | npm update puppeteer -S (--save/-S or --save-dev/-D) |
批量更新依赖库版本
如果需要批量更新第三方依赖库的版本,可以使用专门的工具,例如npm-check-updates或者npm-check。下面简单介绍npm-check-updates的用法。
1、安装npm install -g npm-check-updates
2、检查可更新的库ncu
3、开始更新这些可更新模块ncu -u
npm更新自己
有时候npm会提示说自身的版本太老,建议我们更新npm的版本,此时我们就可以通过指令更新npm自身版本。不过需要注意的是,对于一个已经比较稳定的项目,npm并不适合总是更新,因为太高的npm版本也可能会带来兼容性问题,导致项目无法正常启动正常打包等等诡异的错误,还挺不好解决的。
1 | // npm查看当前版本 |