如果我在多个目录中有多个 composer.json,如何使用 composer 安装依赖项?

use*_*863 5 php command composer-php

例如,让我们说我们有这样的事情:

.
??? app
?   ??? module1
?   ?   ??? composer.json
?   ??? module2
?       ??? composer.json
??? composer.json
Run Code Online (Sandbox Code Playgroud)

在每个composer.json我们都有不同的依赖关系。

如何使用单个命令安装所有需要的软件包?

loc*_*inz 1

例如,您可以创建一个Makefile组合必要步骤的方法。

尽管如此,您可以通过使用 选项指定工作目录(包含这些文件的目录)composer.json的路径来安装所有文件的依赖项。composer.json--working-dir

请参阅https://getcomposer.org/doc/03-cli.md#global-options

--working-dir (-d):如果指定,则使用给定目录作为工作目录。

Makefile

这是一个例子:

.PHONY: composer

composer:
    composer install --working-dir app/module/1
    composer install --working-dir app/module/2
    composer install
Run Code Online (Sandbox Code Playgroud)

然后运行

$ make composer
Run Code Online (Sandbox Code Playgroud)

或者,查看Benjamin Eberlei 的beberlei/fiddlerMonolithic Repositories with PHP and Composer 。