【问题标题】:Deploying a multi-container docker application on elastic beanstalk: webpack command not found在弹性 beantalk 上部署多容器 docker 应用程序:找不到 webpack 命令
【发布时间】:2021-02-07 11:36:33
【问题描述】:

我有一个简单的应用程序,包含在 nginx 反向代理后面的几个容器中。应用程序是用 javascript 编写的,我使用webpack 用于前端和后端以及其他模块。 . Webpack 列在 devDependencies 中。我正在尝试在 Docker 环境中在 64bit Amazon Linux 2/3.2.0 上运行的 AWS elasticbeanstalk(我是全新的)上部署此应用程序,但我遇到了这个错误:

...
somecontainer_1  | npm ERR! A complete log of this run can be found in:
somecontainer_1  | npm ERR!     /root/.npm/_logs/2020-10-19T21_35_51_966Z-debug.log
somecontainer_1  | 
somecontainer_1  | > fibworker@1.0.0 start /app
somecontainer_1  | > webpack --watch
somecontainer_1  | 
somecontainer_1  | sh: webpack: not found
somecontainer_1  | npm ERR! code ELIFECYCLE
somecontainer_1  | npm ERR! syscall spawn
somecontainer_1  | npm ERR! file sh
...

elasticbeanstalk 在生产模式下运行npm install,所以使用一些配置我应该能够使elasticbeanstalk 安装devDependencies 并使用webpack。我在这里和那里搜索文档并阅读帖子。我试图:

  • 将环境NPM_USE_PRODUCTION设置为false,
  • 添加以下./ebextensions/something.config
option_settings:
  - namespace: aws:elasticbeanstalk:environment
    option_name: NPM_USE_PRODUCTION
    value: false
  • 使用建议的./ebextensions/something.config here。我想这是正确的方法,但会导致部署失败并出现此错误:
    2020-10-19 21:26:40,329 [ERROR] Command npmglobals (sudo -u webapp npm i) failed
    2020-10-19 21:26:40,329 [ERROR] Error encountered during build of postbuild_0_fibsequence: Command npmglobals failed
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py", line 542, in run_config 
    CloudFormationCarpenter(config, self._auth_config).build(worklog)
      File "/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py", line 260, in build
    changes['commands'] = CommandTool().apply(self._config.commands)
      File "/usr/lib/python2.7/site-packages/cfnbootstrap/command_tool.py", line 117, in apply
    raise ToolError(u"Command %s failed" % name)
    ToolError: Command npmglobals failed
    2020-10-19 21:26:40,331 [ERROR] -----------------------BUILD FAILED!------------------------
    2020-10-19 21:26:40,331 [ERROR] Unhandled exception during build: Command npmglobals failed
    Traceback (most recent call last):
      File "/opt/aws/bin/cfn-init", line 171, in <module>
        worklog.build(metadata, configSets)
      File "/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py", line 129, in build
        Contractor(metadata).build(configSets, self)
      File "/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py", line 530, in build
    self.run_config(config, worklog)
      File "/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py", line 542, in run_config
    CloudFormationCarpenter(config, self._auth_config).build(worklog)
      File "/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py", line 260, in build
    changes['commands'] = CommandTool().apply(self._config.commands)
      File "/usr/lib/python2.7/site-packages/cfnbootstrap/command_tool.py", line 117, in apply
    raise ToolError(u"Command %s failed" % name)

运气不好。我错过了什么?

【问题讨论】:

    标签: amazon-web-services webpack amazon-elastic-beanstalk


    【解决方案1】:

    我想念的是,AWS(当时我正在苦苦挣扎)不关心你的节点项目的开发依赖关系,所以我的应用程序不适合。

    【讨论】:

      猜你喜欢
      • 2020-12-05
      • 2019-04-14
      • 2014-11-29
      • 2019-05-01
      • 2017-01-13
      • 2020-11-25
      • 2016-02-26
      • 2018-03-26
      • 2016-01-11
      相关资源
      最近更新 更多