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

在AWS Amplify中配置Next.js环境变量时遇到的异常问题

解决Amazon Amplify部署Next.js环境变量读取问题

你的问题核心在于amplify.yml的build阶段配置存在语法和逻辑错误,导致环境变量无法被构建进程正确读取,进而引发应用崩溃或变量失效。

问题拆解

  1. YAML缩进错误:build命令下的环境变量行缩进不一致,违反YAML语法规范,Amplify解析配置时会出错。
  2. 变量未导出:直接定义EMAIL=${EMAIL}仅在当前shell生效,未用export导出的话,后续的npm run build进程无法继承这些变量。

修正后的amplify.yml配置

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm ci
    build:
      commands:
        - export EMAIL=${EMAIL}
        - export EMAIL_PASS=${EMAIL_PASS}
        - export NEXT_PUBLIC_GOOGLE_ANALYTICS=${NEXT_PUBLIC_GOOGLE_ANALYTICS}
        - npm run build
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

后续操作要点

  • 控制台变量校验:在Amplify控制台的「应用设置」→「环境变量」中,确认已添加所有需要的变量(EMAIL、EMAIL_PASS、NEXT_PUBLIC_GOOGLE_ANALYTICS),变量名严格区分大小写,值填写无误。
  • Next.js变量规则:NEXT_PUBLIC_前缀的变量会被打包到客户端代码,无前缀的仅在服务器端可用,不要混淆使用场景。
  • 重新触发构建:修改配置后,手动触发Amplify重新构建部署,确保新配置生效。

内容的提问来源于stack exchange,提问作者Andrii Zaitsev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:01:17