Next.js 13部署Vercel报错:Prerender的initialStatus需为自然数
解决Next.js 13部署Vercel时的
initialStatus预渲染错误 问题说明
在Vercel部署开启appDir的Next.js 13应用时,出现错误:
The
initialStatusargument forPrerendermust be a natural number.
你的next.config.js配置如下:
/** @type {import('next').NextConfig} */ const nextConfig = { experimental: { appDir: true, }, images: { domains: ["res.cloudinary.com"], }, }; module.exports = nextConfig;
修复方案
1. 升级Next.js到最新稳定版
这个错误是Next.js 13早期版本(如13.0.x)的已知bug,官方已在后续版本修复。执行对应命令升级:
# npm npm install next@latest react@latest react-dom@latest # yarn yarn add next@latest react@latest react-dom@latest # pnpm pnpm add next@latest react@latest react-dom@latest
2. 排查预渲染相关代码
如果升级后问题依旧,检查app目录下的页面/组件:
- 确认
generateStaticParams等预渲染函数返回的参数均为正整数(自然数),没有传入0、负数或非数值类型的值。 - 检查是否有自定义预渲染逻辑错误传递了
initialStatus参数。
3. 清除Vercel缓存重新部署
Vercel的构建缓存可能残留旧文件导致问题:
- 进入Vercel项目部署页面,点击「重新部署」,勾选「清除构建缓存」选项后执行部署。
4. 排查第三方依赖冲突
部分第三方库可能与Next.js 13 App Router不兼容:
- 临时移除非核心依赖,重新构建部署,定位是否是依赖引发的问题。
内容的提问来源于stack exchange,提问作者ravi gupta
相关产品推荐
相关产品推荐

