php - 为子文件夹安装 Composer

标签 php windows composer-php grav

有人知道如何为所有子文件夹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 在一些子文件夹中:

enter image description here

我想在 C:\grav 中执行 composer install 以在每个 C:\grav\user\plugins\* 中安装所有依赖项> 也是。

最佳答案

Grav 插件或主题

为了支持 Grav 插件和主题的正确安装文件夹, 您需要添加 composer/installers到插件的 require 部分。

通常插件也会放在 vendor 文件夹中 - 但是,Grav Installer 会告诉 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 安装程序将文件放入正确的文件夹中....


But how to do the same in Windows?

嗯... Composer 跨平台工作。没问题。

关于php - 为子文件夹安装 Composer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35713330/

相关文章:

php - 使用正则表达式提取两个短语之间的所有单词

php - 在单个脚本中连接多个数据库的优缺点

php - 如何使用composer在两个不同的php版本之间切换

php - 我如何在php中获取上传文件的内容?

php - 垃圾回收在 PHP 中是如何工作的?即,如何清理局部函数变量?

c# - Windows 进程的退出代码错误(C#/C++/等)?

php - 类不存在,反射错误

php - 如何在不使用AnnotationRegistry的情况下自动加载自定义注释类?

c++ - 运行函数时运行时检查失败 #0

windows - 我可以在 Windows 任务计划程序中执行 .SH 文件吗?