NextJS与Sanity依赖版本不匹配导致部署构建报错求助
NextJS与Sanity兼容版本组合及部署问题修复
问题场景
部署以Sanity为后端的NextJS项目时,Vercel构建阶段出现预渲染错误,核心报错如下:
Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error TypeError: fetch failed
开发环境运行正常,但构建阶段getStaticProps无法获取数据,同时存在依赖版本不匹配警告:
warning " > next-sanity@3.1.9" has incorrect peer dependency "next@^13".
当前使用版本:NextJS v12.2.2 + next-sanity v3.1.9
已验证的兼容版本组合
以下是社区实践中稳定运行的版本搭配:
- NextJS 12.x 版本:搭配
next-sanity@2.x系列(例如2.10.0、2.11.0),完全适配NextJS 12的peer依赖要求,消除版本警告,同时确保getStaticProps等数据逻辑正常工作。 - NextJS 13.x 版本:搭配
next-sanity@3.x系列(例如3.1.9、3.2.0),这是官方推荐组合,支持Pages Router和App Router两种模式。 - NextJS 14.x 版本:搭配
next-sanity@4.x或最新稳定版3.x,均可良好兼容NextJS 14的新特性。
快速修复建议
针对当前NextJS 12.2.2的情况,直接将next-sanity降级到2.x系列即可解决版本不匹配问题,大概率能消除构建阶段的fetch失败错误。
内容的提问来源于stack exchange,提问作者Aro
相关产品推荐
相关产品推荐

