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

Amazon Amplify部署Next.js应用时出现构建失败问题求助

针对Amazon Amplify部署Next.js构建失败的解决步骤

1. 匹配Node.js版本

Next.js 13及以上版本要求Node.js版本≥16.8.0,Amplify默认构建镜像的Node版本偏低会直接触发构建失败,按以下方式调整:

  • 进入Amplify控制台对应应用的「构建设置」-「构建镜像设置」,手动指定Node.js版本为18.x或更高,和本地开发环境使用的版本保持一致
  • 也可在项目根目录新增.nvmrc文件,写入你使用的Node版本号(例如18.17.0),Amplify构建流程会自动读取该文件匹配版本

2. 修正构建配置文件

检查项目根目录的amplify.yml配置,确保构建阶段、产物路径配置符合Next.js要求,参考配置如下:

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm ci # 用yarn则替换为yarn install --frozen-lockfile,用pnpm则替换为pnpm install --frozen-lockfile
    build:
      commands:
        - npm run build
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
      - .next/cache/**/*

3. 修复依赖安装问题

  • 删除本地的node_modules文件夹和对应的锁文件(package-lock.json/yarn.lock/pnpm-lock.yaml),重新执行依赖安装命令生成新的锁文件后再提交代码
  • 如果项目用到私有npm包,需要在Amplify应用的环境变量中配置NPM_TOKEN权限凭证

4. 调整Next.js输出配置

  • 若你需要部署SSR/ISR能力的Next.js应用,不要在next.config.js中添加output: 'export'配置,当前Amplify已原生支持Next.js服务端渲染部署
  • 若你只需要部署静态站点,可添加上述配置,同时将amplify.yml中的baseDirectory改为out

内容的提问来源于stack exchange,提问作者Kiran Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:36:03