我想将作曲家存储库配置分解为不同的文件。
我使用本地和外部存储库,我想将它们的配置分开。
然后,在运行安装或更新任务时,这些文件将被拉入主 composer.json。
这可能吗?
我想将作曲家存储库配置分解为不同的文件。
我使用本地和外部存储库,我想将它们的配置分开。
然后,在运行安装或更新任务时,这些文件将被拉入主 composer.json。
这可能吗?
现在有一个名为composer-merge-plugin 的插件,它可以在运行时合并多个 composer 文件。
假设您的主composer.json
文件位于基本路径中,然后您有其他composer.json
文件要从以下子目录中加载/plugins
:
/
|-- composer.json
|-- /plugins
|-- /kittenizer
|-- composer.json
|-- /puppyizer
|-- composer.json
在你的主composer.json
文件中,你可以加载这些:
{
"require": {
"wikimedia/composer-merge-plugin": "~1"
},
"extra": {
"merge-plugin": {
"include": [
"plugins/*/composer.json"
],
"recurse": true,
"replace": false,
"merge-dev": true,
"merge-extra": false
}
}
}
我参加聚会已经很晚了,但是我遇到了类似的问题,并且在没有作曲家插件的情况下解决了它。
/root
|-- composer.json
|-- /vendor
|-- /more-composer-dependencies
|-- composer.json
您在根目录中的作曲家文件:
{
"repositories": [
{
"type": "path",
"url": "more-composer-dependencies"
}
],
"require": {
"something/more-dependencies": "dev-master"
}
}
您在其他目录 ( more-composer-dependencies
) 中的作曲家文件必须至少包含以下内容:
{
"name": "something/more-dependencies"
}
您现在可以composer install
在您的根目录中,并且在您的子文件夹中指定的任何内容都composer.json
将放在您的根目录的供应商文件夹中。
❗ 警告:只有 root 的 composer.json 可以包含存储库元数据,而不是子文件夹 ( composer-doc ) 中的元数据。
旁注:在我的情况下,子目录中的 composer.json 是可克隆的资源。我使用 composer hook pre-install-cmd来确保“更多依赖项”是现有的并且是最新的。