【问题标题】:What is the difference between unmet and incorrect peer dependency?未满足和不正确的对等依赖之间有什么区别?
【发布时间】:2018-11-05 06:18:52
【问题描述】:

我相信我理解“未满足的对等依赖”是什么意思。例如,“package-a”依赖于“package-b@^2.1.5”,但没有安装 package-b@2.x.x (>=2.1.5) 的版本。

但是“不正确的依赖”让我感到困惑。说“package-a 要求不正确的依赖项”是没有意义的。是说 package-lock.json 或 yarn.lock 中列出的依赖项与 package-a 所说的不匹配吗?如果这是正确的,那么这将如何解决?

当我在 Github 上搜索有关“不正确依赖”的具体讨论时,它似乎出现在 yarn 或 npm 存储库中的问题上。解决方案通常似乎是对 yarn 或 npm 的修复。此消息是否针对 yarn/npm 中的错误?

如果我在 https://docs.npmjs.com/ 中搜索“不正确的对等依赖性”,我没有得到任何结果。

【问题讨论】:

  • 嗨,约翰。很抱歉,这里没有人能帮助你——你终于明白了吗?让您的 package.json 和您的问题中的具体失败依赖项来帮助回答会很棒。否则这个问题对任何人都没有帮助。
  • @Andy。感谢您的回复。我不再有一个给我这个错误的项目。但总的来说,了解何时甚至可能获得“不正确的对等依赖”会很有帮助。是不是只有在npm/yarn源码有bug的时候才会出现?
  • 我不知道曾经收到过该消息,并且正如您所说,它不在文档中。因此,恐怕我无法进一步帮助您,如果没有具体示例,我不知道从哪里开始。

标签: npm yarnpkg


【解决方案1】:
  • 未满足的对等依赖项表示该依赖项根本没有安装。
  • 不正确的对等依赖意味着它已经安装,但版本错误。

鉴于这些 package.json

{
  name: "app"
  dependencies: {
    "package-a": "*"
  }
}

{
  name: "package-a",
  peerDependencies: {
    "package-b": "^2.1.5"
  }
}

yarn install 会给你一个未满足的对等依赖,因为应用程序不能确保 package-b 被安装。

如果您将其添加为依赖项,但版本错误

{
  name: "app"
  dependencies: {
    "package-a": "*",
    "package-b": "~2.0.0"
  }
}

你会得到一个不正确的对等依赖

【讨论】:

  • 你说的很有道理。但是,就像我在上面的 cmets 中所说的那样,我没有当前的项目给出该错误。所以我无法验证您的答案并将其标记为正确答案。你知道现有的 npm 包及其可以验证的依赖项吗?
  • 您可以简单地将我的 package.jsons 复制并粘贴到这里并试一试。
猜你喜欢
  • 1970-01-01
  • 2018-01-21
  • 1970-01-01
  • 2017-11-06
  • 2016-08-29
  • 2017-08-25
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多