有人知道如何为所有子文件夹设置 composer install
吗? Composer 支持吗?现在我需要在每个子文件夹中执行此命令或将所有子文件夹的 vendor
文件夹添加到 git。
我在 Linux 中找到了解决方案:
https://www.bram.us/2014/02/16/installing-dependencies-in-all-subfolder-organised-projects/
但是如何在 Windows 中做同样的事情呢?
示例。
我在 C:\grav
中有一个项目,其中包含 composer.json
。
但我也有一些子文件夹中的插件文件夹 C:\grav\user\plugins
和 composer.json
:
我想在 composer install
中执行 C:\grav
来安装每个 C:\grav\user\plugins\*
中的所有依赖项。
最佳答案
Grav 插件或主题
为了支持 Grav 插件和主题的正确安装文件夹,
您需要将 composer/installers
添加到插件的 require
部分。
通常,插件也会放在供应商文件夹中 - 但是,Grav 安装程序会告诉 Composer 在 Grav 项目中的正确位置,请参阅
见 https://github.com/composer/installers/blob/master/src/Composer/Installers/GravInstaller.php#L6
因此,当为 grav 编写插件或主题时,每个 composer.json
必须将 type
指示为 grav-plugin
或 grav-theme
,否则 Composer 无法将包与安装程序匹配。
{
"name": "your/some-grav-plugin",
"type": "grav-plugin",
"require": {
"composer/installers": "^1.0.23"
}
}
Grav 主项目
现在,在您的主要 grav 项目的
composer.json
中,只需添加插件。然后运行
composer install
。这意味着包被获取,composer 安装程序被获取,基于包类型匹配的安装程序被触发,grav 安装程序将文件放入正确的文件夹中......嗯... Composer 跨平台工作。不是问题。
关于php - 子文件夹的 Composer 安装,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35713330/