【问题标题】:Find out easily which dependency versions are compatible轻松找出兼容的依赖版本
【发布时间】:2023-03-05 08:44:01
【问题描述】:

因此,如果您在 node 中有一堆依赖项并且您不定期更新它们,但现在您可能会遇到一堆这样的消息。

npm ERR! peerinvalid The package react@15.6.2 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @material-ui/core@3.9.2 wants react@^16.3.0
npm ERR! peerinvalid Peer progress-arc-component@2.6.0 wants react@^15.5.4
npm ERR! peerinvalid Peer react-autosuggest@9.4.3 wants react@>=0.14.7
npm ERR! peerinvalid Peer react-datepicker@1.8.0 wants react@^16.0.0
npm ERR! peerinvalid Peer react-dom@15.6.2 wants react@^15.6.2
npm ERR! peerinvalid Peer react-fa@4.2.0 wants react@>= 0.13.0 <16.0.0
npm ERR! peerinvalid Peer react-hover-image@1.0.0 wants react@^16
...

有没有一种简单的方法可以找出哪些版本与某个依赖项兼容? E,g 找到与react@react@15.6.2兼容的这些包的所有版本

因为,手动查看 NPM / GitHub 以查看这些版本是什么有点痛苦。

【问题讨论】:

  • 尝试使用npm install ?
  • npm audit 应该这样做,它跟踪依赖关系树而无需真正修复任何东西而只是告诉。然后可能是npm audit fix

标签: node.js reactjs npm package version


【解决方案1】:

问题中发布的输出已经是不兼容的对等依赖项列表。所以你已经发现了这些不兼容性。它还会打印所需的semver 字符串,因此您可以在package.json 中使用它。

对等依赖关系的全部意义在于,它们仍然由您管理并且不会自动解析,但是您可以使用 npm audit fix 让 npm 尝试为您修复它。

然而在这种情况下react@&gt;= 0.13.0 &lt;16.0.0 与其他一些不兼容,所以我认为甚至不可能找到满足所有要求的版本。

【讨论】:

  • 可以说无论出于何种原因我都想保留 react@15.6.2,然后有了这个列表,我看不出哪个版本的 material-ui/core 可以使用它。我只知道现在的不会。
  • 我在答案中添加了npm audit fix,以使其完整。谢谢。
  • @Matthijn 好的,我明白你的意思,但我想不出一个好的解决方案。只需查看 npm.org 并返回主要/次要版本即可找到最新的兼容版本。通常你会升级到它不兼容,然后停止进一步升级(如果由于某种原因你必须坚持使用旧的 react 版本,这也应该避免)。
猜你喜欢
  • 1970-01-01
  • 2015-03-20
  • 1970-01-01
  • 2022-06-10
  • 2021-08-11
  • 2019-12-25
  • 2023-01-14
  • 1970-01-01
  • 2016-09-18
相关资源
最近更新 更多