AWS Elastic Beanstalk使用Buildfile构建TypeScript未执行问题求助
AWS Elastic Beanstalk Buildfile 未执行排查项
- 文件权限校验
确认build.sh具备可执行权限,部署前需在本地执行chmod +x build.sh赋予权限,同时确认Buildfile本身具备可读权限,权限不足会导致脚本无法被调用执行。 - Buildfile 规范校验
- 确认文件命名为
Buildfile,首字母大写、无任何后缀,避免命名为buildfile、Buildfile.txt这类不符合规范的名称 - 确认文件内格式符合要求:进程名与命令之间的冒号后必须保留空格,你当前配置的
make: ./build.sh需要确认冒号后有且至少有一个空格
- 确认文件命名为
- 部署包结构校验
确认打包后的部署压缩包根目录直接存在Buildfile、package.json等文件,而非将所有文件嵌套在server文件夹后打包。如果压缩包根目录只有server文件夹,EB 无法识别到子目录内的Buildfile,自然不会执行构建逻辑。 - Shell 脚本格式校验
如果你是在 Windows 环境下编写的build.sh,需要确认脚本的换行符为 Linux 兼容的 LF 格式,而非 Windows 默认的 CRLF 格式,错误的换行符会导致Shell脚本执行失败,看起来像没有运行。 - 构建日志排查
登录 EB 控制台下载对应环境的完整日志,查看/var/log/eb-engine.log文件中构建阶段的输出,搜索Buildfile相关的记录,可以直接定位到未执行的具体原因,比如文件不存在、依赖缺失、构建命令报错等。 - 依赖安装校验
你当前的typescript依赖放在dependencies中符合要求,如果后续调整到devDependencies,需要注意 EB 默认生产环境不会安装devDependencies,会导致tsc命令找不到、构建失败。 - 简化配置验证
可以暂时去掉build.sh中间层,直接在Buildfile中写build: npm run build,排除Shell脚本本身的问题,验证Buildfile是否能正常被调用。
内容的提问来源于stack exchange,提问作者Lasharela
相关产品推荐
相关产品推荐

