如何解决npm中的对等依赖警告?

时间:2018-03-22 11:06:47

标签: javascript reactjs npm dependencies

我的应用程序有一个示例package.json,

    dependencies : {
        P1 : “^1.0.0”  // has a peer dependency of p3 v1
        P2 : “^1.0.0”  // has a peer dependency of p3 v2
    }

P1和P2在P3上具有对等依赖性,但是在不同的版本上。 (例如P1具有P3 V1的对等依赖性,P2具有P3 V2的对等依赖性)

(我无法访问p1 p2源代码。)

有没有办法解决这种情况是我的应用程序的package.json没有显示警告消息?

2 个答案:

答案 0 :(得分:1)

我以前的回答未能意识到依赖关系和对等依赖关系之间的区别。对于那些可能也没有意识到差异another answer describes it well的人:

  

TL; DR:peerDependencies用于暴露给使用方代码(并预计将由使用方代码使用)的依赖关系,而不是未公开的“私有”依赖关系,仅是实现细节。

如果P1和P2确实确实都对不兼容的P3版本具有同级依赖关系,那么您将需要查找具有对等依赖关系P3的P1和P2的版本,或者放弃使用P1或P2。

答案 1 :(得分:-1)

更新:此答案仅适用于常规依赖项,而非适用于对等项依赖项。请参阅我的新答案,了解差异的描述以及P3作为同伴依赖的案例的答案。

我猜你正在运行旧版本的npm。较新版本的npm应该能够处理相同依赖的多个版本。

How can I update Node.js and npm to the next versions?