用Composer解决依赖地狱问题

时间:2012-09-29 22:14:21

标签: composer-php

这就是情景。

你的composer.json中有包A和包B(你的应用程序取决于这两个包)。

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

你得到版本冲突。

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

如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

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

您可以覆盖“A”,“B”和“C”软件包的存储库,并使“A”和“B”依赖于相同版本的“C”(实际上,它可能足以覆盖存储库仅适用于“A”和“B”。

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

答案 1 :(得分:-1)

我们正在此邮件列表中讨论它:http://news.php.net/php.internals/72594

“无冲突”技术必须在PHP中实现,它不是作曲家的错误