用Composer解决依赖地狱问题

ump*_*sky 10 composer-php

这就是场景.

你的composer.json中有包A和包B(你的应用依赖于这两个包).

包A和包B都依赖于包C,但是在不同的版本上.说A取决于C v2.1,B取决于C v2.2.

而且你会遇到版本冲突.

A,B和C都是第三方包.

怎么解决这个?

Jak*_*las 3

这是一个 hack,但可能会让你继续前进。

您可以覆盖“A”、“B”和“C”包的存储库,并使“A”和“B”依赖于相同版本的“C”(实际上,可能覆盖“A”的存储库就足够了)仅”和“B”)。

只要“A”和“B”都可以与最新版本的“C”一起使用,这应该就可以工作(所以维护者可能没有更新软件包版本)。如果是这种情况,我还会考虑向具有旧版本依赖项的项目发送拉取请求。