使用yarn安装软件包时,“具有未满足的对等依赖性”是什么意思?


73

我重新安装了yarn(via npm install yarn -g),并尝试安装一些软件包

yarn add vue-loader babel-loader style-loader css-loader file-loader webpack

我在安装过程中收到了一些警告,例如

warning "vue-loader@13.3.0" has unmet peer dependency "vue-template-compiler@^2.0.0".

这到底是什么意思,尤其是:为什么不自己yarn安装这些依赖项?(如果需要)

关于同一主题的姐妹问题(关于npm)产生了一些答案,这些答案建议i)更新npmii)删除,node_modules因为在npm处理依赖项方面存在错误。

这些警告的状态是什么yarn这真的是一个警告(=我可以丢弃的东西)吗?我无法丢弃它们(webpack构建失败),而必须手动安装它们。同时,安装了很多依赖项,所以我不明白为什么会丢失一些(尽管它们可以手动安装)


嘿@WoJ,您知道原因是什么吗?我自己也有同样的疑问……
Bruno Belotti

1
我不是母语人士,我在笔记本电脑上仅观察到“ X满足对等项依赖性Y”的消息。直到我用
谷歌

1
哇@BrunoBelotti-今天也是11月27日!我在这里看到的答案是相同的:'D
Akhila

Answers:


59

什么是对等依赖

是有关依赖关系类型的一些有用的读物​​,是有关对等依赖关系的信息,但总结如下:

依赖关系:您的项目需要运行的库/包。
对等依赖项:用于指示您的项目将挂接到的库/包。

该软件包vue-loader具有对等项依赖关系vue-template-compiler-vue-loader充当插件vue-template-compiler

为什么默认情况下不安装它们

对等依赖项会自动安装到npm @ 3为止(随后是yarn)。由于频繁混淆行为,此操作已停止。例如,安装另一个有冲突要求的插件会导致错误。

我们还将在npm @ 3中更改peerDependencies的行为。我们将不再自动下载对等依赖项。相反,如果尚未安装对等依赖项,我们会警告您。这需要您手动解决peerDependency冲突,但是从长远来看,这应该使您不太可能因软件包的依赖关系而陷入困境。[2015年2月13日]

更新资料

按照这里npm @ 7现在安装对等依赖项。
有关此决定背后的动机,请参见此处


1
这只是一个警告,但是通常如果不满足依赖关系,执行将失败。那么,为什么似乎可以忽略此警告呢?
让·保罗

我应该做些什么?我在用纱。我应该忽略这个还是手动安装?您只提到了npm的更新,而不是关于yarn的。问题是关于纱线的。
Akhila
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.