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

时间:2017-09-11 13:18:27

标签: amazon-web-services composer-php amazon-elastic-beanstalk

是否有某种方法可以覆盖AWS Elastic BeanStalk默认的composer install命令?

我想要composer install --no-dev

2 个答案:

答案 0 :(得分:1)

当我尝试时,上面和官方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

答案 1 :(得分:0)

是的,您可以在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部分。