这可能(应该)在某个地方被问过,但我似乎无法找到答案.如果有人提供链接,我可以删除这篇文章!:
只是试图让我的头脑周围的一些作曲家(可能也适用于其他包经理)的功能.
基本上我只是想知道作曲家在以下场景中做了什么:
1.
我的主项目有一个依赖:
"guzzlehttp/guzzle": "5.0.*",
我的外部捆绑包依赖于
"guzzlehttp/guzzle": "5.0.*",
作曲家一次安装guzzlehttp / guzzle是因为它知道它只需要一次吗?
2.
相同的情况,但将来如果有人更新要使用的主项目:
"guzzlehttp/guzzle": "6.0.*",
作曲家现在会安装两个版本的guzzle(5和6)(我认为这是它应该做的),还是会采用最高版本(即6)?此外,如果有2个版本,这会导致任何冲突,因为名称空间可能是相同的吗?
谢谢
问题1
原文链接:https://www.f2er.com/php/138070.html是Composer只能安装每个扩展/包的一个版本.
问题2
由于答案1:Composer会认为您的主项目和外部包不兼容.
在这种情况下你可以
>也可以在主项目中使用第5版.>如果兼容,请要求外部包所有者升级到版本6.> fork外部包并使其与版本6兼容