当应用程序中存在历史依赖关系,且无法更新根目录的 composer 时,一些开发者会选择在新的目录中使用独立的 composer。这样做需要考虑以下影响:
可行性:
虽然不推荐,但同时使用多个 composer 在理论上是可行的。
立即学习“PHP免费学习笔记(深入)”;
依赖加载冲突:
两个 composer 会相互独立,但在加载外部类时,可能会自动加载另一个目录中的依赖关系。反之亦然。
版本冲突:
如果两个 composer.json 中依赖了相同包的不同版本,则在运行时加载依赖项时版本将无法控制。
推荐解决方案:
更规范的做法是将 utils 目录打包成一个独立的 composer 包。这样可以避免依赖冲突,但仍需处理依赖版本冲突的情况。