如何在AWS Amplify中部署Next.js?ssrResources.json缺失报错如何解决
报错详情
2021-09-18T00:04:20 [INFO]: 开始部署应用dhq4kye8grbzc,部署分支为main,构建ID为0000000028
2021-09-18T00:04:20 [INFO]: 未找到任何生成好的SSR资源可用于部署。如果您的应用为SSR类型,请检查应用的Service Role权限。若您的应用为SSG类型,可查阅官方文档了解如何配置应用以被正确识别。
2021-09-18T00:04:20 [ERROR]: {"code":"7","message":"No ssrResources.json file"}

报错原因
该报错为AWS Amplify部署Next.js SSR/SSG应用时的常见问题,核心原因是构建阶段未生成平台所需的SSR资源标识文件ssrResources.json,导致部署流程无法正常执行。
解决方案
- 检查服务角色权限(SSR应用优先排查)
进入Amplify控制台的应用设置->通用->服务角色页面,确认当前关联的角色已被授予AdministratorAccess-Amplify权限,权限不足会导致构建过程无法读写SSR资源配置,无法生成对应标识文件。 - 调整构建配置(SSG应用优先排查)
如果你的应用是静态导出的SSG类型,需要修改项目根目录下的amplify.yml配置文件,调整构建和产物配置段:version: 1 frontend: phases: preBuild: commands: - npm ci build: commands: - npm run build - next export artifacts: baseDirectory: out files: - '**/*' cache: paths: - node_modules/**/* - 验证本地构建产物
在本地项目目录执行npm run build命令,检查构建输出目录是否存在ssrResources.json文件,若本地未生成,说明项目本身的SSR相关配置存在问题,需要先调整项目内Next.js配置后再尝试部署。 - 升级兼容版本
低于12.2版本的Next.js和新版Amplify控制台存在适配问题,可尝试将Next.js升级到12.3及以上的稳定版本后重新触发部署。
内容的提问来源于stack exchange,提问作者Sang Won Yu
相关产品推荐
相关产品推荐

