使用 yarn / npm 包管理工具更新项目依赖包的版本(按需下载)

一、Yarn 配置

1. 最近在修复项目代码漏洞时,要求对使用的依赖包进行版本升级,其中包括一些子依赖包要求升级到对应版本的问题

如:项目使用的 antv/g2 内携带的子依赖 d3-color 当前版本为 2.0.0,需升级到3.0.0

2. 一般思维,可能是直接升级 d3-color,如终端执行 yarn upgrade package@version,但是是不起作用的,它的最上层 ant/g2 为最低版本,内部的 d3-color 为低版本,此时若需升级 d3-color,可要么通过升级 g2 位最新版本来间接性升级子依赖包(事实证明,并非所有的依赖可采用,d3-color 即不适用,而 Echarts 的子依赖包 ZRender 适用),要么就通过 resolutions 来进行配置定版本升级子依赖

3. resolution配置

package.json 文件内,与 dependencies 平级后,添加配置:

"resolutions": {
  "d3-color" : "3.0.0"
}

删除 yarn.lock,重新 yarn install 即可解决升级问题

二、Npm 配置

npm 的配置与 yarn 雷同

package.json 文件内,与 dependencies 平级后,添加配置:

"resolutions" : {
  "d3-color" : "3.0.0"
}

然后在 package.json 文件内,在 scripts 内新增一行,添加配置 "preinstall" : "npx force-resolutions" 

保存好后,删除 package-lock.json 文件,执行 npm install,再执行 npm run preinstall,至此问题解决 。

猜你喜欢

转载自blog.csdn.net/zyf971020/article/details/128285015