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

时间:2018-05-25 20:04:29

标签: npm yarnpkg

我相信我明白了什么"未满足的同伴依赖"手段。例如" package-a"取决于" package-b@^2.1.5"但没有安装package-b@2.x.x(> = 2.1.5)的版本。

但"不正确的依赖"让我感到困惑。说" package-a要求不正确的依赖"是没有意义的。是不是说package-lock.json或yarn.lock中列出的依赖关系不匹配它所需要的包?如果这是正确的,那么如何解决?

当我搜索关于"错误依赖的具体讨论时#34;在Github上,它似乎出现在纱线或npm回购的问题上。分辨率通常似乎是对纱线或npm的修正。这条消息是针对纱线/ npm的错误吗?

如果我在https://docs.npmjs.com/搜索"错误的同伴依赖",我没有结果。

1 个答案:

答案 0 :(得分:0)

  • 未满足的对等依赖项表示该依赖项尚未安装。
  • 不正确的对等依赖项表示它已安装,但版本错误。

给出这些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"
  }
}

您将得到不正确的对等依赖性