You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elastic Beanstalk部署Node.js示例应用持续失败的原因排查

解决Elastic Beanstalk部署Node.js应用时找不到package.json的问题

从你提供的部署日志能明确看到核心问题:Elastic Beanstalk的部署脚本找不到你的package.json文件,这也是部署失败、一直显示默认页面的原因。结合你的操作,给出以下解决步骤:

1. 修正压缩包结构(最关键)

EB要求部署包的根目录直接包含应用核心文件(package.json、app.js等),如果你是把整个项目文件夹打包(比如文件夹名为my-app,压缩后打开先看到my-app文件夹,里面才是package.json),EB会在错误的路径下查找文件,自然找不到。

正确操作:

  • 打开你的项目文件夹,选中里面所有文件(包括package.json、app.js)
  • 直接将这些文件压缩成zip包,不要把外层文件夹也打包进去

2. 优化npm启动脚本

你当前的start脚本写了npm i && node app.js,但EB会自动执行npm install安装依赖,重复执行可能引发冲突。建议修改为:

{
  "name": "Elastic-Beanstalk-Sample-App",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "express": "^4.18.2",
    "pm2": "^5.2.2"
  },
  "scripts": {
    "start": "node app.js"
  }
}

如果要使用pm2管理进程,建议添加Procfile文件(无后缀),内容为:

web: pm2-runtime start app.js

这样EB会识别并使用pm2启动应用,替代默认的node命令。

3. 验证部署包

压缩完成后,先在本地解压检查:打开zip包后,根目录必须直接看到package.json、app.js等文件,确保结构正确后再上传到EB。
如果频繁手动打包出错,建议使用EB CLI的eb deploy命令,它会自动帮你生成符合要求的部署包。

内容的提问来源于stack exchange,提问作者zztt a

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:02:07