部署Next.js应用到Elastic Beanstalk时遭遇构建失败错误
EB Deploy构建失败问题
执行eb deploy后构建失败,错误信息如下:
2023-08-16 19:28:26,665 [ERROR] -----------------------BUILD FAILED!------------------------ 2023-08-16 19:28:26,665 [ERROR] Unhandled exception during build: Command 01_build failed Traceback (most recent call last): File "/opt/aws/bin/cfn-init", line 181, in <module> worklog.build(metadata, configSets, strict_mode) File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 137, in build Contractor(metadata, strict_mode).build(configSets, self) File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 567, in build self.run_config(config, worklog) File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 579, in run_config CloudFormationCarpenter(config, self._auth_config, self.strict_mode).build(worklog) File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 278, in build self._config.commands) File "/usr/lib/python3.7/site-packages/cfnbootstrap/command_tool.py", line 127, in apply raise ToolError(u"Command %s failed" % name) cfnbootstrap.construction_errors.ToolError: Command 01_build failed
已尝试多种解决方案,包括压缩上传,但问题仍未解决。
排查方向及解决方案
- 检查
01_build命令配置:查看项目根目录下的.ebextensions文件夹,找到对应01_build的命令内容,确认是否存在语法错误、依赖缺失或权限不足的情况。比如编译类命令是否提前安装了必要工具。 - 获取完整构建日志:执行
eb logs --all拉取全量日志,定位01_build执行时的具体报错细节,比如文件找不到、环境变量未配置、命令路径错误等。 - 本地验证构建命令:在本地环境手动执行
01_build对应的命令,确认命令本身是否能正常运行,排除代码或命令逻辑问题。 - 核对环境平台版本:确认Elastic Beanstalk环境的平台版本与项目兼容,比如日志中显示Python3.7,需确保环境Python版本匹配,平台支持当前构建方式。
- 清理缓存重新部署:执行
eb deploy --staged清理本地缓存后再部署,或在AWS控制台重启环境后重新推送,避免旧缓存干扰。
内容的提问来源于stack exchange,提问作者Ahsaan shuja
相关产品推荐
相关产品推荐

