Heroku:子文件夹中的composer.json

时间:2016-05-23 06:09:30

标签: php heroku composer-php

让我们采用以下文件夹结构:

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个自动加载文件

2 个答案:

答案 0 :(得分:1)

Afterall,我能够在main composer.json中添加以下内容:

  

“scripts”:{“post-install-cmd”:“cd api; composer install; composer   更新“}

答案 1 :(得分:0)

对于将来寻找此内容的人: 如by the answer from keepwalking所示,您可以使用“composer.json”中的“scripts”键,如"Scripts" section of the Composer documentation中所述。有趣的是,您还可以将数组用于单个事件。

您可以使用 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”数组中的第二个命令