有人知道如何为所有子文件夹设置 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\pluginscomposer.json:

php - 子文件夹的 Composer 安装-LMLPHP

我想在 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-plugingrav-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/

10-16 15:15