合并 composer.json 文件

admin 提交于 周三, 06/07/2023 - 15:21

合并 composer.json 文件

Composer 对单个包是使用单个配置文件 composer.json 的。

然而,在前面的工程却有两个 composer.json 文件。 工程根目录中本来已经有一个,接着在工程中创建了一个 Installation Profile 模块, 并在其中创建了第二个 composer.json

这时如果我们在项目工程根目录运行 Composer 命令, 只会读取根目录的 composer.json 文件, web/profiles/my_profile/composer.json 是识别不到的。 为了解决这个问题,我们需要使用 wikimedia/composer-merge-plugin 插件:

composer require wikimedia/composer-merge-plugin

接着在根目录的 composer.json 文件中指定要合并的子配置文件:

{
  "extra": {
    "merge-plugin": {
      "require": [
        "web/profiles/my_profile/composer.json"
      ]
    }
  }
}

或者,可以使用通配符:

{
  "extra": {
    "merge-plugin": {
      "include": [
        "web/profiles/my_profile/modules/*/composer.json"
      ],
      "recurse": true
    }
  }
}

到工程根目录中运行 Composer 命令,子配置文件将被识别,其中的依赖包会被一同安装: