【问题标题】:How does composer deal with shared dependencies by multiple packages within one project?composer 如何处理一个项目中多个包的共享依赖关系?
【发布时间】:2013-03-27 16:11:01
【问题描述】:

如问题所述,如果项目 A 需要 x、y 和 z 包,它们又都需要 d1、d2、d3、d4 和 d5 包。 Composer 是否会为 x、y 和 z 包下载 d1、d2、d3、d4 和 d5 三次?

如果 d1、d2、d3、d4 和 d4 包依次需要另一组共享依赖项,这听起来合乎逻辑,但不切实际......这将是一个项目代码库中的大量重复代码。

提前致谢

【问题讨论】:

    标签: dependencies dependency-management composer-php circular-dependency


    【解决方案1】:

    简短的回答是否定的。由于在 PHP 中多次加载库是不可能的,因此每个包独立下载依赖项是没有意义的。因此,Composer 将解析所有包的所有依赖项,然后立即安装它们而不会重复。

    【讨论】:

    • 谢谢 Seldaek.. 你自己试过了吗?如果你说的是真的,作曲家会把共享库放在哪里?供应商目录中的某个位置,以便其他人共享?
    • 所有依赖项(无论是项目的直接依赖项,还是二级/三级/...程度的依赖项)都以vendor/<package/name> 结尾。是的,我自己尝试了几次,因为我是项目负责人;)
    猜你喜欢
    • 2016-07-26
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    相关资源
    最近更新 更多