您必须自己安装对等依赖项
Posted
技术标签:
【中文标题】您必须自己安装对等依赖项【英文标题】:You must install peer dependencies yourself 【发布时间】:2018-10-23 00:28:26 【问题描述】:sudo npm install
结果:
npm WARN karma-sinon-chai@1.3.4 需要一个 sinon@>=2.1.0
【问题讨论】:
【参考方案1】:您可以通过运行解决此问题
npm i --legacy-peer-deps
【讨论】:
【参考方案2】:npm
不安装指定为 peerDependecy
的依赖项。
对于曾经使用bower
的人来说,这可能看起来很不愉快,但这没问题。你很快就会习惯的。
peerDependencies
是包开发者实际依赖的依赖项,但并未将其称为依赖项。他/她/他们(开发人员)只是假设无论他们的包将被使用到哪里,都会有karma-sinon-chai
。
你需要自己安装一个包的peerDependency
s!
【讨论】:
没有安装peerDependencies
的特殊方法。您只需像安装任何其他依赖项一样安装它。 npm i karma-sinon-chai
实际上这就是 npm
将它们记录为 WARN
的原因,这样您就可以看到有哪些 peerDependencies 并且您可以一个一个手动安装它
顺便说一句。如果您知道自己在做什么并且似乎没有必要安装peerDependencies
,那么您可以忽略它们。我每天都会忽略很多。 (作为一个不成文的规则是它们大部分时间都存在)
我是 npm 新手,来自 ios 开发,在那里你被教导不要忽略任何警告(因为框架的安全性非常严格),我很难理解为什么或何时忽略这些警告。终端会说无法安装x
因为需要手动安装x
对等依赖项。但你是说忽略这个警告。那是因为真的安装了对等依赖项吗?
不!我提到“如果你知道你在做什么”。我将使用和定义 peerDependencies 的情况是(例如)编写一个必须在 Angular 驱动的代码中使用的库,但我不想特别提到对 Angular 的依赖。由于我的库的用户可能对 Angular 有其他版本的依赖。或者我想在我的库中使用另一个库,就像我的一样(这取决于 Angular)。安装该库会警告我“我需要 Angualr 作为 PeerDependency”,在这种情况下我可以忽略它。
可能还有更多我能想到的或者非常具体的情况。顺便说一句,不!在 JS 世界中,您可能会学会忽略警告,并且大多数时候只看到错误。特别是在浏览器的开发工具控制台中。 :)以上是关于您必须自己安装对等依赖项的主要内容,如果未能解决你的问题,请参考以下文章
Laravel mix vue-template-compiler 必须安装为对等依赖项