我相信我理解“未满足的同伴依赖”的含义。例如,“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/ 搜索“不正确的对等依赖”,我不会得到任何结果。
鉴于这些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"
}
}
您将得到不正确的对等依赖。
我有一个当前的例子。为了满足一些未满足的对等依赖关系,我将
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".
现在去看看是否有更新版本的插件具有更新的依赖项。