Composer在没有开发要求的AWS上安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Composer在没有开发要求的AWS上安装相关的知识,希望对你有一定的参考价值。

有没有办法如何覆盖AWS Elastic BeanStalk默认的composer install命令?

我想跑composer install --no-dev

答案

是的,您可以在AWS Beanstalk中为composer命令添加额外的标志。

您需要在<app-root-dir>/.ebextensions/composer.config中创建一个额外的配置文件:

commands:
  10updateComposer:
    command: export COMPOSER_HOME=/root && /usr/bin/composer.phar self-update
option_settings:
  aws:elasticbeanstalk:application:environment:
    option_name: COMPOSER_HOME
    value: /root
  aws:elasticbeanstalk:container:php:phpini:
    composer_options: --no-dev

无论你放在composer_options中的什么都将附加到composer命令行。

您可以通过查看/var/log/eb-activity.log文件来验证这是否正确执行。注意这样的事情:

 ++ /opt/elasticbeanstalk/bin/get-config optionsettings -n aws:elasticbeanstalk:container:php:phpini -o composer_options
  + PHP_COMPOSER_OPTIONS=--no-dev
  + echo 'Found composer.json file. Attempting to install vendors.'
  Found composer.json file. Attempting to install vendors.
  + composer.phar install --no-ansi --no-interaction --no-dev

有关详细信息,请阅读手册中的Composer File部分。

另一答案

当我尝试时,上面和官方EBS文档中的内容不起作用..

这对我有用:

option_settings:
  - namespace:  aws:elasticbeanstalk:container:php:phpini
    option_name: composer_options
    value: --no-dev

不确定此链接的文档中是否有错误,但我提交了一份报告.. http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_PHP.container.html#php-namespaces

以上是关于Composer在没有开发要求的AWS上安装的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Composer 安装失败,在 ubuntu 中出现错误

如何在 Elastic Beanstalk 上安装 AWS PHP 开发工具包? [关闭]

通过 Jenkins 在所有 AWS Beanstalk 实例上部署新的 PHP 代码并运行 Composer?

Composer 更新 - 您的要求无法解析为一组可安装的软件包

如何为Amazon AWS部署设置composer标志--no-dev

作曲家在每个项目上都内存不足,Mac OS X