这可能(应该)在某处之前被问过,但我似乎无法找到答案。如果有人提供链接,我可以删除此帖子!:
只是想了解一下 composer 的一些(可能也适用于其他包管理器)的功能。
基本上我只想知道 composer 在以下场景中做了什么:
1.
我的主要项目有一个依赖项:
"guzzlehttp/guzzle": "5.0.*",
我的外部包依赖于
"guzzlehttp/guzzle": "5.0.*",
composer 是否安装 guzzlehttp/guzzle 一次,因为它知道它只需要它一次?
2.
相同的场景,但将来如果有人更新主项目以使用:
"guzzlehttp/guzzle": "6.0.*",
Composer 现在会安装 2 个版本的 guzzle(5 和 6)(我认为这是它应该做的),还是会采用最高版本(即 6)?此外,如果有 2 个版本,这是否会导致任何冲突,因为命名空间可能相同?
谢谢
最佳答案
对问题 1
是 Composer 只能安装每个扩展/包的一个版本。
对问题 2
因为答案 1:Composer 会认为您的主项目和外部包不兼容。
在这种情况下你可以
关于symfony - composer 如何处理同一个包的多个版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27150695/