Angular由一个bug说起之七:npm的overrides确实不知道有哪个场景可以用

先回顾一下改这个bug的整个流程:

  • 我们升级PDF依赖的版本以后,其中一个chart无法显示。
  • 研究发现是一个叫puppeteer的包有bug,这个包不是我们直接依赖的包,是PDF工具所依赖的包。
  • 问题在于PDF在下一个大版本才解决了这个问题,而我们由于一些限制不能升级到下一个大版本;
  • 这时候就想起来overrides这个功能。(package.json | npm Docs
  • 大概看了一下puppeteer两个版本,好像它是前向兼容的,我们就做了一个尝试,用overrides直接升级次一级的依赖的版本。

下面是遇到的问题:

  1. 升级完后,找不到chrome,而且在windows下工作正常,但是在Ubuntu下puppeteer会遇到没有权限的问题,这个通过官方文档解决了。
  2. Mapbox在Ubuntu下无法正常工作。这个用遍网上的办法也无法解决。最后发现是版本冲突问题。
  3. 还有一些其他的冲突问题。

最后总结一下,如果下大力气去找几个包都能工作的折衷的版本,兴许也是可以找到的。但是这个付出的精力很不划算,如果其中有一个包有安全问题等等的话,所有的努力就都白费了。而且这并不是我们第一次尝试使用overrides,上一次当vm2 (https://github.com/patriksimek/vm2)遇到安全问题时,我们也尝试过用overrides直接升级它的版本来避开安全问题,结果也同样是遇到了兼容性问题而放弃。经历过这样两次的故事之后,我们应该是不会再考虑这个overrides了。也真是不知道它在什么场合下可以发挥作用。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值