作曲家如何处理一个项目中多个包的共享依赖关系?

zor*_*o74 4 dependencies circular-dependency dependency-management composer-php

正如问题所述,如果项目A需要x,y和z包,那么它们又需要d1,d2,d3,d4和d5包.Composer是否为x,y和z软件包下载了d1,d2,d3,d4和d5三次?

如果d1,d2,d3,d4和d4包依次需要另一组共享依赖项,这听起来合乎逻辑但不实用....在一个项目代码库中会有很多重复的代码.

提前致谢

Sel*_*aek 12

最简洁的答案是不.由于在PHP中无法多次加载库,因此每个包独立地下载依赖项是没有意义的.因此,Composer将解析所有包的所有依赖项,然后立即安装它们而不会重复.

  • 所有依赖项(无论项目的直接依赖关系,还是第二/第三/ ...程度依赖关系)最终都出现在`vendor/<package/name>`中.是的,我自己尝试了几次,因为我是项目负责人;) (7认同)