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

时间:2014-12-27 14:07:54

标签: php command composer-php

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

.
├── app
│   ├── module1
│   │   └── composer.json
│   └── module2
│       └── composer.json
└── composer.json

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

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

2 个答案:

答案 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

这就是全部:)