yarn 1.xx 版本 安装依赖存在 peerDependencies 不生效的情况?

作者站长头像
站长
· 阅读数 13

项目里面使用 yarn 进行的依赖安装,版本是 V1

今天我发现安装的 antd 的部分依赖如 rc-align,rc-select 等,都嵌套安装了 react16.14.0 和 react-dom17.0.1,但我看这些包的 package.json 中都是有peerDependencies 配置的,如下

{
    peerDependencies: {
        'react': '>=16.9.0',
        'react-dom': '>=16.9.0'
    }
}

即便如此,这些包还是单独安装了相关依赖。。。

导致在 使用 antd 的 select 组件时,react 的版本与 项目的 react 版本不一致,导致依赖冲突进而报错,请问有大佬遇到过类似的情况没有

但同样的情况使用 npm v6 或者 pnpm 就没问题,难道说是 yarn v1 的 bug ?

回复
1个回答
avatar
test
2024-07-17

破案了,是我们一个 内部 npm 包把 react,react-dom 和 antd 写到了 dependencies 里面,导致 antd 中的 rc-* 等包最终依赖的是内部 npm 包的 react 版本。。。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容