未满足和不正确的对等依赖之间有什么区别?

Joh*_*icz 6 npm yarnpkg

我相信我理解“未满足的对等依赖性”的含义。例如,“ package-a”取决于“ package-b@^2.1.5”,但没有安装版本的package-b@2.xx(> = 2.1.5)。

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

当我搜索有关Github上“不正确的依赖关系”的特定讨论时,似乎显示出yarn或npm回购中的问题。分辨率通常似乎是对yarn或npm的修正。该消息是否涉及yarn / npm中的错误?

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

And*_*ndy 4

  • 未满足的对等依赖关系意味着根本没有安装依赖关系。
  • 不正确的对等依赖意味着它已安装,但版本错误。

给定这些 package.json

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

{
  name: "package-a",
  peerDependencies: {
    "package-b": "^2.1.5"
  }
}
Run Code Online (Sandbox Code Playgroud)

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

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

{
  name: "app"
  dependencies: {
    "package-a": "*",
    "package-b": "~2.0.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

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