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

问题描述 投票:0回答:2

我相信我理解“未满足的同伴依赖”的含义。例如,“package-a”依赖于“package-b@^2.1.5”,但未安装 [email protected] (>=2.1.5) 版本。

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

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

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

npm yarnpkg
2个回答
4
投票
  • 未满足对等依赖关系表示依赖关系根本没有安装。
  • 不正确的对等依赖意味着它已安装,但版本错误。

鉴于这些package.json

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

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

A

yarn install
会给您带来未满足的对等依赖,因为应用程序无法确保安装
package-b

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

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

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


0
投票

我有一个当前的例子。为了满足一些未满足的对等依赖关系,我将

vite@>2.0.0-0
添加到了我的 package.json 中。这实际上安装了vite 4.5.0。我有另一个依赖项
@intlify/vite-plugin-vue-i18n
(在当前安装的版本 3.4.0 中)在
"vite": "^2.0.0"
上声明了对等依赖项。这让我很感动:

warning " > @intlify/[email protected]" has incorrect peer dependency "vite@^2.0.0".

现在去看看是否有更新版本的插件具有更新的依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.