簡體   English   中英

Heroku:子文件夾中的 composer.json

[英]Heroku: composer.json in sub folder

讓我們采用以下文件夾結構:

www/
www/composer.json
www/index.php
www/vendor
www/backend/
www/backend/composer.json
www/backend/index.php
www/backend/vendor

如您所見,我有 2 個項目,1 個項目是主文件夾中的子文件夾。 主文件夾與 heroku 一起部署,heroku 自動從 composer.json 安裝包。 有沒有辦法指示 heroku 或 composer.json 在 www/backend/vendor 文件夾中安裝 www/backend/composer.json 包?

或者我可以指定 www/compposer.json 中的一些包(不是全部)安裝在 www/backend/vendor 文件夾下? 還要在 www/vendor/ 和 www/backend/vendor/ 中生成 2 個自動加載文件?

畢竟,我能夠在主 composer.json 中添加以下內容:

“腳本”:{“安裝后cmd”:“cd api;作曲家安裝;作曲家更新”}

對於將來尋找此內容的人:如keepwalking 的答案所示,您可以使用“composer.json”中的“scripts”鍵,如Composer 文檔“腳本”部分所述 有趣的是,您還可以將數組用於單個事件。

您可以使用 bash 命令,例如cdmv但您也可以使用&&來鏈接命令。 所以,我的例子是:

{
  ...
  "scripts": {
    "post-install-cmd": [
      "cd www && composer install",
      "cd www/backend && composer install"
    ]
  }
  ...
}

這具有以下流程:

  1. 您在項目根目錄中運行composer install
  2. Composer 完成依賴項的安裝並發出“post-install-cmd”事件
  3. Composer 運行“post-install-cmd”數組中的第一個命令
  4. Composer 完成“post-install-cmd”數組中的第一個命令
  5. Composer 運行“post-install-cmd”數組中的第二個命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM