Amazon web services 在elastic beanstalk上部署多容器docker应用程序:找不到webpack命令

Amazon web services 在elastic beanstalk上部署多容器docker应用程序:找不到webpack命令,amazon-web-services,webpack,amazon-elastic-beanstalk,Amazon Web Services,Webpack,Amazon Elastic Beanstalk,我有一个简单的应用程序,包含在nginx反向代理后面的几个容器中。应用程序是用javascript编写的,我对前端和后端以及其他模块使用了webpack网页列在devDependencies中。我正在尝试在AWSelasticbeanstalk(我是全新的)上部署此应用程序,该应用程序运行在64位Amazon Linux 2/3.2.0上的Docker环境中,我面临以下错误: ... somecontainer_1 | npm ERR! A complete log of this run c

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

...
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
安装
devdependency
并使用
webpack
。我到处搜索文档和阅读帖子。我试图:

  • 将环境
    NPM\u USE\u PRODUCTION
    设置为false
  • 添加以下
    /ebextensions/something.config
  • 使用建议的
    /ebextensions/something.config
    。我想这是正确的方法,但会导致部署失败,并出现以下错误:
2020-10-19 21:26:40329[错误]命令npmglobals(sudo-u webapp npm i)失败
2020-10-19 21:26:40329[错误]生成后期生成时遇到错误\u 0\u fibsequence:命令npmglobals失败
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python2.7/site packages/cfnbootstrap/construction.py”,第542行,在运行配置中
CloudFormationCarpenter(配置,self.\u auth\u config).build(工作日志)
文件“/usr/lib/python2.7/site packages/cfnbootstrap/construction.py”,第260行,内部版本
更改['commands']=CommandTool().apply(self.\u config.commands)
文件“/usr/lib/python2.7/site packages/cfnbootstrap/command_tool.py”,第117行,在apply中
raise ToolError(u)命令%s失败“%name”
工具错误:命令npmglobals失败
2020-10-19 21:26:40331[错误]--------------------------构建失败------------------------
2020-10-19 21:26:40331[错误]生成期间未处理的异常:命令npmglobals失败
回溯(最近一次呼叫最后一次):
文件“/opt/aws/bin/cfn init”,第171行,在
worklog.build(元数据、配置集)
文件“/usr/lib/python2.7/site packages/cfnbootstrap/construction.py”,第129行,内部版本
承包商(元数据).构建(配置集,自身)
文件“/usr/lib/python2.7/site packages/cfnbootstrap/construction.py”,第530行,内部版本
self.run\u配置(配置,工作日志)
文件“/usr/lib/python2.7/site packages/cfnbootstrap/construction.py”,第542行,在运行配置中
CloudFormationCarpenter(配置,self.\u auth\u config).build(工作日志)
文件“/usr/lib/python2.7/site packages/cfnbootstrap/construction.py”,第260行,内部版本
更改['commands']=CommandTool().apply(self.\u config.commands)
文件“/usr/lib/python2.7/site packages/cfnbootstrap/command_tool.py”,第117行,在apply中
raise ToolError(u)命令%s失败“%name”

不走运。我遗漏了什么?

我遗漏的是AWS(当时我正在与之斗争)不关心节点项目的开发依赖性,因此我的应用程序不适合

option_settings:
  - namespace: aws:elasticbeanstalk:environment
    option_name: NPM_USE_PRODUCTION
    value: false
    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)