Duplicate identifier LibraryManagedAttributes
最近升级前端某个包时,报以下错误。经过分析,最终fixed,这里Mark下
原因
查看具体报错意思是存在两个版本的React类型定义。
yarn.lock中@types/react
版本,注意有两个
解决办法
TSC配置skipLibCheck错误姿势
假如在tsconfig.json中增加skipLibCheck配置,重新进行TSC编译,实际上是OK的,但不建议这么做,因为这样是在放弃部分的类型安全。so,别这么做,虽然可以。
Package.json 当前做法
增加以下配置
1 | "resolutions": { |
重新执行yarn命令,再看lock会发现,版本只有一个了。
其它办法
除了上面的解决方案意外,我们可以手动或者工具化删除多出来的重复包问题,当然lock文件难免要修改。