当用纱线安装软件包时,“不正确的对等依赖”是什么意思?

我刚刚克隆了 回购,它推荐使用 纱线来安装依赖项。当我运行 yarn install时,似乎没有问题,但它提供了以下警告:

yarn install v0.20.3
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning "sass-loader@4.0.2" has incorrect peer dependency "node-sass@^3.4.2".
[4/4] 📃  Building fresh packages...
✨  Done in 77.59s.

我上网查了查“有不正确的对等依赖”到底是什么意思。但是我所能找到的只是关于其他存储库的报告问题或关于如何修复该问题的问题。

有人能解释一下这意味着什么吗? 为什么它只是一个警告,而不是一个错误?

Also, is it something that I should try to address or report to the community behind the repo I have just cloned?

63285 次浏览

这只是一个警告,因为它不会真正停止您的代码运行,它只是提醒您,您的依赖项有问题。

实际上,对等依赖是包指定的一种方式,“要使用我,您还应该安装 x 版本的 y 包”。

您应该升级到最新版本,有关 sass-loader 依赖关系的更多细节,请参见此 链接

我认为有些软件包没有太大的区别(如果没有在你的应用程序中暴露出来,或者冲突版本不太可能产生问题,比如 Moment.js) ,但是有些软件包,比如 React,所有 React 的依赖关系是相互兼容的,因为它们可能创建需要相互理解的组件。

在您的情况下,可能您的某个依赖项使用 sass-loader的版本与您在项目中指定的版本不同。

By declaring it as a peerDependency you can tell npm which version your project expects and it will give you a warning (as you saw) when there is a conflict.