关于 peerDependencies

工程依赖包 A、B,A 也依赖包 B,按树结构是这样的:

node_modules
├── A@1.0.0
│   └── node_modules
│       └── B@1.0.0
└── B@1.0.0

A 通过 peerDependencies 指定依赖的 B 版本为 1.0.0。

如果父工程想升级一下使用的 B 版本,从 1.0.0 升级到 2.0.0,npm install B@2.0.0,这时候会报错误 unable to resolve dependency tree。

如果我直接改 package.json 和 package.lock.json 里面 B 的版本和校验信息,然后 npm install,就能安装成功了。。

阅读 1.3k
1 个回答

可以试试 yarn 的解决方案:

{
  "resolutions": {
    "lodash": "4.17.20"
  }
}

手动选择版本号。

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