Например, скажем, что у нас есть что-то вроде этого:
.
├── app
│ ├── module1
│ │ └── composer.json
│ └── module2
│ └── composer.json
└── composer.json
В каждом composer.json
у нас разные зависимости.
Как я могу установить все необходимые пакеты с помощью одной команды?
С ~ 2016 ты можешь использовать составитель локальных пакетов, у которых есть нативная поддержка.
К вашему примеру просто отредактируйте composer.json
:
{
"repositories": [
{ "type": "path", "url": "app/module1" },
{ "type": "path", "url": "app/module2" }
]
}
И запустить:
composer update
Это все 🙂
Например, вы можете создать 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
а потом беги
$ make composer
В качестве альтернативы, посмотрите на beberlei/fiddler
и посмотреть Монолитные репозитории с PHP и Composer Бенджамин Эберлей.