gpt4 book ai didi

symfony - composer 如何处理同一个包的多个版本?

转载 作者:行者123 更新时间:2023-12-03 11:40:55 25 4
gpt4 key购买 nike

这可能(应该)在某处之前被问过,但我似乎无法找到答案。如果有人提供链接,我可以删除此帖子!:

只是想了解一下 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 会认为您的主项目和外部包不兼容。

在这种情况下你可以

  • 在您的主要项目中也使用第 5 版。
  • 如果兼容,请要求外部软件包所有者也升级到版本 6。
  • fork 外部包并使其兼容版本 6
  • 关于symfony - composer 如何处理同一个包的多个版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27150695/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com