2016-03-01 255 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部分。而已。 –