2016-03-01 133 views
0

任何人知道如何为所有子文件夹也composer install?作曲家是否支持它?现在我需要在每个子文件夹中执行此命令或将所有子文件夹的vendor文件夹添加到git。作曲家安装的子文件夹

我发现在Linux的解决方案: https://www.bram.us/2014/02/16/installing-dependencies-in-all-subfolder-organised-projects/

但如何做同样在Windows?

示例。

我在C:\grav中有一个项目,其中有composer.json。 而且我有plugins文件夹C:\grav\user\plugins在一些子文件夹composer.json

enter image description here

我想在C:\grav执行composer install安装在每个C:\grav\user\plugins\*所有的依赖了。

+0

当你运行'作曲家install'或'作曲家require'它会通过你的依赖扫描和安装他们都在'vendor'没有必要在每个目录下运行'作曲家install'。 – Michael

+0

如果你需要在子文件夹中运行一个脚本(任何脚本),您可以利用作曲家的[脚本钩手动](https://getcomposer.org/doc/articles/scripts.md) – Michael

+0

@迈克尔我的意思是我有'作曲家。json'在根目录和每个子文件夹中。 – Sogl

回答

2

GRAV插件或主题

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

通常情况下,插件将土地在供应商文件夹, - 但是,在GRAV安装告诉Composer中的正确位置GRAV项目中,看到 看到https://github.com/composer/installers/blob/master/src/Composer/Installers/GravInstaller.php#L6

所以,写GRAV每个composer.json插件或主题时必须注明typegrav-plugingrav-theme,否则作曲家无法企及的包安装程序。

{ 
    "name": "your/some-grav-plugin", 
    "type": "grav-plugin", 
    "require": { 
     "composer/installers": "^1.0.23" 
    } 
} 

GRAV主体工程

现在,在主GRAV项目composer.json,只需添加插件。

然后运行composer install。这意味着该包是牵强,作曲家安装程序是牵强的基础上,封装类型匹配的安装程序被触发,GRAV安装降到文件到正确的文件夹....


但如何在Windows中做同样的事情?

呃... ...作曲家跨平台工作。不是问题。

+0

所以我需要在我的插件的'composer.json'中添加'type:grav-plugin'和'composer/installers'?你也可以添加主项目'composer.json'的例子吗?谢谢! – Sogl

+0

是的,当你添加'type'和'composer/installers',那么所有的grav插件和主题将被自动识别并安装在正确的文件夹中。 |为主'composer.json'增加一个例子?没有什么可显示的..你基本上将插件添加到require部分。而已。 –