例如,假设我们有这样的东西:
.
├── app
│ ├── module1
│ │ └── composer.json
│ └── module2
│ └── composer.json
└── composer.json
在每个composer.json
中,我们都有不同的依赖关系。
如何使用单个命令安装所有需要的软件包?
例如,您可以创建一个组合必要步骤的Makefile
。
尽管如此,您可以通过使用 --working-dir
选项指定工作目录(包含这些composer.json
文件的目录)的路径来安装所有composer.json
文件的依赖项。
请参阅 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的带有PHP和Composer的Monolithic Repository
> 从 ~2016 开始,您可以使用具有本机支持的作曲家本地包。
对于您的示例,只需编辑composer.json
:
{
"repositories": [
{ "type": "path", "url": "app/module1" },
{ "type": "path", "url": "app/module2" }
]
}
并运行:
composer update
仅此而已:)