在AWS Amplify部署Next.js应用失败,报Build Failed错误求助
AWS Amplify部署Next.js应用失败:Build failed(Error: Command failed with exit code 1)
问题原因
你的Next.js 14.1.0应用要求Node.js版本≥v18.17.0,但AWS Amplify构建环境当前使用的是v16.19.0,版本不兼容导致构建失败。
关键错误日志片段
npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: 'next@14.1.0', npm WARN EBADENGINE required: { node: '>=18.17.0' }, npm WARN EBADENGINE current: { node: 'v16.19.0', npm: '8.19.3' } } # ... You are using Node.js 16.19.0. For Next.js, Node.js version >= v18.17.0 is required. !!! Build failed !!! Error: Command failed with exit code 1
解决方法
方法1:通过项目配置指定Node.js版本
在项目根目录的package.json中添加engines字段,明确要求的Node.js版本:
"engines": { "node": ">=18.17.0" }
提交修改到代码仓库后,重新触发Amplify部署,平台会自动匹配符合要求的Node.js版本。
方法2:在Amplify控制台手动设置版本
- 登录AWS Amplify控制台,进入你的应用
- 左侧菜单选择构建设置
- 在构建图像板块,找到Node.js版本选项,选择18.x或20.x(确保版本≥18.17.0)
- 保存设置后,点击重新构建按钮触发部署
内容的提问来源于stack exchange,提问作者Shilp Thapak
相关产品推荐
相关产品推荐

