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

Next.js部署Elastic Beanstalk:前端无法读取NEXT_PUBLIC环境变量

Next.js + Elastic Beanstalk 前端环境变量 undefined 问题解决思路
  • 确认EB环境变量配置及部署时机
    登录EB控制台,进入对应环境的配置→软件,核对NEXT_PUBLIC_开头的变量是否存在且值正确。注意:EB的环境变量必须在构建前配置完成,或者配置后重新部署应用——因为Next.js会在构建阶段把NEXT_PUBLIC_变量注入前端代码,部署后修改变量不会自动生效,必须重新触发构建。
  • 检查构建流程是否在EB服务器执行
    不要本地执行npm run build后再上传.next文件夹,这种方式会把本地.env.local的变量固化到代码里,EB的环境变量根本没机会参与构建。正确做法是上传项目源码(包含package.json等核心文件),让EB服务器自行执行npm run build和启动命令,这样构建时才能读取到EB的环境变量。
  • 验证部署包结构
    部署包根目录必须包含package.json、next.config.js等文件,不能只传.next或部分文件,否则EB无法识别项目结构,无法正确执行构建脚本。
  • 查看构建日志确认变量是否被读取
    到EB控制台的日志→构建日志里搜索NEXT_PUBLIC_,看构建过程中这些变量是否被加载。如果日志里完全找不到相关变量,说明EB的环境变量没传递到构建流程中,需要检查EB的软件配置是否正确保存。
  • 排查next.config.js的冲突配置
    不要在next.config.js里手动通过env字段设置NEXT_PUBLIC_开头的变量,Next.js会自动处理带该前缀的环境变量,手动设置会覆盖EB的配置,导致前端读取不到正确值。
  • 清空缓存重新部署
    若以上都没问题,试试EB控制台的重新部署应用→清空缓存并重新部署,避免旧的构建缓存残留导致变量不更新。

内容的提问来源于stack exchange,提问作者Aaron Lee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:13:26