Next.js部署AWS Amplify遇500错误:缺失next/dist/server/next-server模块
解决Next.js部署到AWS Amplify时出现的"Cannot find module 'next/dist/server/next-server'"错误
以下是针对该问题的具体解决方案:
检查Next.js版本兼容性
next/dist/server/next-server路径在Next.js 12及以上版本中已被重构,确认项目使用的Next.js版本与AWS Amplify托管环境兼容。若使用较新版本的Next.js,需同步调整Amplify的构建配置。配置Next.js独立输出模式
在项目根目录的next.config.js中添加独立输出配置,让构建产物包含完整的运行环境:module.exports = { output: 'standalone', }调整Amplify构建命令
进入AWS Amplify控制台的构建设置页面,修改构建命令为:npm run build && cp -r .next/static .next/standalone/.next/static && cp -r public .next/standalone/public该命令会将静态资源和public目录复制到独立构建产物中,确保运行时能找到所需文件。
清理缓存重新构建
在Amplify的构建页面选择重新构建,并勾选"清理构建缓存"选项,清除旧的依赖缓存和构建残留文件,避免版本冲突。确保依赖安装完整
将构建脚本中的npm install替换为npm ci,强制安装package-lock.json中声明的精确依赖版本,确保构建环境与本地开发环境依赖一致。
内容的提问来源于stack exchange,提问作者pruthvi
相关产品推荐
相关产品推荐

