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

项目里面使用 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.9k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题