You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Next.js项目到Vercel时出现RangeError问题求助

Next.js 14.0.4 部署Vercel时RangeError问题排查与解决

问题描述

本地执行npm run build可正常构建Next.js 14.0.4项目,但部署到Vercel时触发RangeError: Maximum call stack size exceeded,错误发生在构建的「Collecting build traces」阶段,错误栈指向Next.js内置的micromatch模块。

完整构建日志

[14:00:08.689] Cloning github.com/DanKamNdi/sheria-ai (Branch: launch, Commit: 5eb6be9)
[14:00:09.537] Cloning completed: 848.163ms
[14:00:16.357] Restored build cache
[14:00:16.440] Running "vercel build"
[14:00:16.921] Vercel CLI 33.2.0
[14:00:17.354] Installing dependencies...
[14:00:20.506] 
[14:00:20.507] added 13 packages in 3s
[14:00:20.507] 
[14:00:20.507] 41 packages are looking for funding
[14:00:20.508]   run `npm fund` for details
[14:00:20.523] Detected Next.js version: 14.0.4
[14:00:20.530] Detected `package-lock.json` generated by npm 7+
[14:00:20.531] Running "npm run build"
[14:00:21.646] 
[14:00:21.647] > sheria@0.1.0 build
[14:00:21.647] > next build
[14:00:21.647] 
[14:00:22.307]    ▲ Next.js 14.0.4
[14:00:22.307] 
[14:00:22.308]    Creating an optimized production build ...
[14:00:32.610]  ✓ Compiled successfully
[14:00:32.611]    Linting and checking validity of types ...
[14:00:32.793]    Collecting page data ...
[14:00:35.092]    Generating static pages (0/11) ...
[14:00:35.304] 
   Generating static pages (2/11) 
[14:00:35.690] 
   Generating static pages (5/11) 
[14:00:35.717] 
[14:00:35.718]  ⚠ metadata.metadataBase is not set for resolving social open graph or twitter images, using "https://sheria-9up6k2n27-dankamndi.vercel.app". See https://nextjs.org/docs/app/api-reference/functions/generate-metadata#metadatabase
[14:00:36.208] 
   Generating static pages (8/11) 
[14:00:36.392] 
 ✓ Generating static pages (11/11) 
[14:00:36.616]    Finalizing page optimization ...
[14:00:36.617]    Collecting build traces ...
[14:00:43.527] RangeError: Maximum call stack size exceeded
[14:00:43.528]     at parse (/vercel/path0/node_modules/next/dist/compiled/micromatch/index.js:15:6313)
[14:00:43.528]     at picomatch.makeRe (/vercel/path0/node_modules/next/dist/compiled/micromatch/index.js:15:21670)
[14:00:43.528]     at picomatch (/vercel/path0/node_modules/next/dist/compiled/micromatch/index.js:15:19637)
[14:00:43.528]     at /vercel/path0/node_modules/next/dist/compiled/micromatch/index.js:15:19294
[14:00:43.529]     at Array.map (<anonymous>)
[14:00:43.529]     at picomatch (/vercel/path0/node_modules/next/dist/compiled/micromatch/index.js:15:19286)
[14:00:43.529]     at micromatch.isMatch (/vercel/path0/node_modules/next/dist/compiled/micromatch/index.js:15:1090)
[14:00:43.529]     at /vercel/path0/node_modules/next/dist/build/collect-build-traces.js:245:48
[14:00:43.529]     at shouldIgnore (/vercel/path0/node_modules/next/dist/build/collect-build-traces.js:75:9)
[14:00:43.530]     at /vercel/path0/node_modules/next/dist/build/collect-build-traces.js:86:23
[14:00:43.581] Error: Command "npm run build" exited with 1
[14:00:43.799]

原因排查与解决方法

1. 清理Vercel构建缓存

本地构建环境与Vercel缓存的依赖可能存在版本不一致,导致构建阶段调用栈溢出。

  • 操作步骤:进入Vercel项目的「Settings」→「Build & Development Settings」,找到「Build Cache」选项,选择「Disable」后重新触发部署;也可以修改package.json的build命令为"build": "rm -rf .next && next build"(适用于Linux/macOS),强制清理旧构建产物。

2. 检查自定义忽略规则

项目中next.config.js的experimental.outputFileTracingExcludes配置或.nextignore文件中的通配符规则写法错误,可能引发micromatch模块的无限递归。

  • 操作步骤:检查next.config.js中的outputFileTracingExcludes,移除或简化错误的通配符(例如避免**/**这类重复递归的写法);临时删除.nextignore文件测试是否能正常构建。

3. 升级/降级Next.js版本

Next.js 14.0.4的collect-build-traces模块存在已知bug,会导致micromatch调用栈溢出。

  • 操作步骤:执行npm install next@latest升级到最新稳定版,或npm install next@14.0.3降级到上一个小版本,更新依赖后重新部署。

内容的提问来源于stack exchange,提问作者Alvin.Kamau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 16:34:51