背景
在实际开发项目中,发现老项目里同时用到了vCharts和Echarts,此时的Echarts是低版本,并不会出现问题,但在漏洞扫描中Echarts需升级,此时项目开始报错。
v-charts 不能和echarts5+版本同时存在,当时的解决办法是将echarts5降级成4.9版本才行,但此时echarts4.9版本的子依赖ZRender低于5.2.1,也不能够通过漏洞扫描,故一般去除vCharts使用,全部使用echarts(若项目中引用较多的v-charts,修改起来代价较高)
若不需要考虑Echarts版本高低的问题,可以对Echarts进行降级使用
yarn add echarts@4.9.0
问题
ERROR Failed to compile with 3 errors 上午10:57:29
These dependencies were not found:
* echarts/lib/data/helper/completeDimensions in ./node_modules/echarts-liquidfill/src/liquidFillSeries.js, ./node_modules/echarts-wordcloud/src/WordCloudSeries.js
* echarts/lib/visual/dataColor in ./node_modules/echarts-liquidfill/src/liquidFill.js
To install them, you can run: npm install --save echarts/lib/data/helper/completeDimensions echarts/lib/visual/dataColor
根据报错信息来看,v-charts内所含子依赖"echarts-liquidfill"、"echarts-wordcloud"版本较低(elem团队已经4年未更新vcharts),再根据npm官网进行查询,发现最新echarts5.3.3关于此两子依赖为高版本,故不能兼容,此时只需要将此俩子依赖全部固定版本升级最新即可(根据echarts版本)解决了问题
解决
“resolutions”: {
“echarts-liquidfill”:“^3.1.0”,
“echarts-wordcloud”:“^2.0.0”
}
如果看不懂resolutions的,建议看我之前的博客 使用yarn/npm配置resolutions按需下载版本依赖包