例如,让我们说我们有这样的事情:
.
├── app
│ ├── module1
│ │ └── composer.json
│ └── module2
│ └── composer.json
└── composer.json
在每个composer.json
中,我们都有不同的依赖关系。
如何使用单个命令安装所有需要的软件包?
答案 0 :(得分:0)
例如,您可以创建一个结合了必要步骤的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
并查看Benjamin Eberlei撰写的Monolithic Repositories with PHP and Composer。
答案 1 :(得分:0)
自2016年以来,您可以使用具有原生支持的composer local packages 。
举例来说,只需修改composer.json
:
{
"repositories": [
{ "type": "path", "url": "app/module1" },
{ "type": "path", "url": "app/module2" }
]
}
并运行:
composer update
这就是全部:)