这就是场景。
您的 composer.json 中有包 A 和包 B(您的应用程序依赖于这两个包)。
包 A 和 B 都依赖于包 C,但版本不同。假设 A 依赖于 C v2.1,而 B 依赖于 C v2.2。
你会得到版本冲突。
A、B 和 C 都是第三方软件包。
如何解决这个问题?
这就是场景。
您的 composer.json 中有包 A 和包 B(您的应用程序依赖于这两个包)。
包 A 和 B 都依赖于包 C,但版本不同。假设 A 依赖于 C v2.1,而 B 依赖于 C v2.2。
你会得到版本冲突。
A、B 和 C 都是第三方软件包。
如何解决这个问题?
这是一个技巧,但可能会让你继续前进。
您可以覆盖“A”、“B”和“C”包的存储库,并使“A”和“B”依赖于相同版本的“C”(实际上,覆盖“A”的存储库可能就足够了”和“B”)。
只要“A”和“B”都可以使用最新版本的“C”(因此维护者可能没有更新软件包版本),这应该可以工作。如果是这种情况,我还会考虑向具有旧版本依赖项的项目发送拉取请求。
我们在这个邮件列表中讨论它:http: //news.php.net/php.internals/72594
“无冲突”技术必须在 PHP 中实现,这不是作曲家的错