【发布时间】:2018-05-01 06:41:51
【问题描述】:
在纱线链接其依赖项的阶段,我收到以下警告块:
warning "firebase > @firebase/database@0.2.2" has unmet peer dependency "@firebase/app-types@0.x".
warning "firebase > @firebase/firestore@0.4.1" has unmet peer dependency "@firebase/app-types@0.x".
warning "firebase > @firebase/functions@0.1.1" has unmet peer dependency "@firebase/app-types@0.x".
...
为了更好的可读性,我从不同的 firebase 包中删除了一些关于 "@firebase/app-types@0.x" 的更多 unment peer dependency 警告。
...
warning " > flotjs@0.1.3" has unmet peer dependency "dom-tools@^0.1.1".
warning " > flotjs@0.1.3" has unmet peer dependency "wolfy87-eventemitter@^4.3.0".
虽然看了The docs about dependency types,还是没看懂:
1) 什么是对等依赖项? [现在我愿意...请阅读下面的编辑]
2) 为什么以及如何使用它们? [现在我做...请阅读下面的编辑]
这种缺乏理解也导致我不确定应该如何处理 yarn 提供的警告。
3) 我应该添加@firebase/app-types@0.x、dom-tools@^0.1.1 和wolfy87-eventemitter@^4.3.0 作为依赖项吗?
4)如果是这样,那么这些应该是正常的还是开发依赖?
编辑:
有人建议这是Why use peer dependencies in npm for plugins? 的副本,所以我去阅读了它。我现在更好地理解了一般的对等依赖关系,我建议每个到达这个 Q 的人不了解对等依赖关系是什么,并阅读那里提供的问题和答案。
无论如何,我仍然不知道如何解决上述警告,并且 Q 的 3 和 4 仍然没有回答我。
我知道@firebase/firestore@0.4.1 希望我在与它通信时在@firebase/app-types@0.x 中使用该代码......但我不知道我在哪里,什么时候我应该怎么做。
我不使用它的事实可能意味着它是我实际上不需要的可选的东西,这使它成为“实现细节”(使用来自 https://stackoverflow.com/a/34645112/25412 的语言)或者我在我如何使用@firebase/firestore@0.4.1。
我不是在询问 plotjs 的对等依赖项,因为 plotjs 不是我直接开始使用的东西,所以我猜测可选的“实施细节”的第一个选项适用于此处(至少目前如此)。
所以也许有人可以更深入地了解@firebase/app-types@0.x 的作用以及如何以及何时可以/应该使用它?
【问题讨论】:
-
对于 3) 不,不要添加它们