Vercel deployments have not been successful since May 15th.

该报错通常发生在通过 Vercel 自行部署 LobeChat(尤其是直接 fork 官方仓库、未拉取最新修复)时,构建在 Next.js 阶段耗时超过 Vercel 免费层 45 分钟上限而失败。优先排查是否已包含官方构建稳定性修复,并检查 Vercel 构建缓存与机器配置是否合理。

快速结论:该报错通常发生在通过 Vercel 自行部署 LobeChat(尤其是直接 fork 官方仓库、未拉取最新修复)时,构建在 Next.js 阶段耗时超过 Vercel 免费层 45 分钟上限而失败。优先排查是否已包含官方构建稳定性修复,并检查 Vercel 构建缓存与机器配置是否合理。

适用环境:已确认的信息为:客户端 Web(桌面浏览器)、操作系统 macOS、部署平台 Vercel、浏览器 Edge、LobeChat 版本 2.2.0;Vercel 构建环境为 Node 18、Vercel CLI 54.2.0、pnpm 10.26.2,构建机配置 2 cores / 8 GB(iad1 区域)。Issue 中未提供 Python、CUDA、显卡等信息,故不列出。

最快修复方案:暂无确认的一步修复方案。Issue 中给出的方向是:确认已拉取官方对 pnpm、@lobehub/editor 的版本锁定与 sitemap 缓存相关修复(PR #14200);若构建仍超时,可优先尝试开启 Vercel Enhanced Builds、关闭 VERCEL_FORCE_NO_BUILD_CACHE(可优先尝试)。

注意事项:以上措施均属于缓解构建耗时的手段,是否彻底解决取决于具体 fork 是否已包含对应修复;开启 Enhanced Builds 可能涉及 Vercel 付费/额度变化;关闭缓存后需确认后续构建行为是否稳定。Issue 中提到近期版本在 Vercel 部署时数据库已成为必需项,部署前需一并确认该项是否配置。

问题场景

用户在 Vercel 上自行部署 LobeChat(fork 官方仓库并连接 Vercel 部署),自 5 月 15 日起构建持续失败。从日志看,构建流程可以进入依赖安装阶段(npx pnpm@10.26.2 install),但整体耗时超过 Vercel 免费层的 45 分钟构建上限,最终以 Build Failed (timed out) 结束。日志中同时可见 VERCEL_FORCE_NO_BUILD_CACHE is set so skipping build cache step.,说明本次构建跳过了构建缓存。

报错原文

Build Failed (timed out)
Your build exceeded the 45 minute limit. Enable Enhanced Builds to increase machine size and reduce build times.

17:02:52.142 Running build in Washington, D.C., USA (East) – iad1
17:02:52.142 Build machine configuration: 2 cores, 8 GB
17:02:52.154 VERCEL_FORCE_NO_BUILD_CACHE is set so skipping build cache step.
17:02:57.843 (node:18) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
17:02:57.856 Vercel CLI 54.2.0
17:02:58.912 Running "install" command: `npx pnpm@10.26.2 install`...
17:03:03.420 Scope: all 80 workspace projects
17:03:03.724 Progress: resolved 1, reused 0, downloaded 0, added 0
...

原因分析

根据 Issue 讨论,这是一个已知的构建稳定性问题,导致 45 分钟超时的可能原因包括:

  • @lobehub/editor 的 Lexical patch 失败:当 pnpm 版本漂移时,postinstall 脚本可能报 “Patch context mismatch”,导致构建卡住(关联 issue #14394)。
  • 未缓存的 sitemap 生成:构建阶段渲染 150+ sitemap 路由且没有缓存,在 Next.js 构建阶段看起来像“卡死”(关联 issue #14394)。
  • EPUB2 / zipfile 的 webpack 报错:Module not found: Can't resolve 'zipfile' 曾阻塞部署,直到 PR #15073 将其 externalize 后才缓解。
  • Vercel 默认构建机规格(2 cores / 8 GB)对该 monorepo(80 个 workspace、3500+ 包)而言偏紧,尤其在安装依赖未走缓存的情况下,很容易触及 45 分钟上限。

此外,讨论中提到近期版本在 Vercel 部署时数据库已成为必需项(关联 issue #14886),若未配置也可能影响部署流程的完整性。

环境排查

  • LobeChat 版本:确认为 Issue 中报告的 2.2.0,或确认当前 fork 的 main 分支是否已包含 PR #14200 / PR #15073 的修复。
  • 包管理器版本:确认使用 pnpm 10.26.2(PR #14200 已对 pnpm 做了锁定)。
  • 依赖版本:确认 @lobehub/editor 是否被锁定到修复后版本,避免 postinstall patch 上下文不匹配。
  • Vercel 构建环境:确认 Build Machine 配置(默认 2 cores / 8 GB)、区域(日志中为 iad1)、构建缓存开关(日志中 VERCEL_FORCE_NO_BUILD_CACHE 为开启状态,即跳过缓存)。
  • Node 版本:日志显示为 node:18,并伴随 punycode 弃用警告,可留意是否为预期版本。
  • Vercel 项目配置:确认是否已按要求配置数据库(近期版本在 Vercel 部署时数据库为必需项)。

解决步骤

  1. 确认你的 fork 已同步官方仓库中包含构建稳定性修复的提交,尤其是 PR #14200(锁定 pnpm 到 10.26.2、锁定 @lobehub/editor、缓存 sitemap identifier 列表)与 PR #15073(externalize zipfile,修复 Module not found: Can't resolve 'zipfile')。可优先尝试将 fork 同步到最新 main 后再触发一次部署。
  2. 若构建仍超时,按 Vercel 报错提示开启 Enhanced Builds(更大机器规格),以缓解默认 2 cores / 8 GB 对 80 个 workspace、3500+ 包安装与构建的压力。
  3. 在 Vercel 项目设置中关闭 VERCEL_FORCE_NO_BUILD_CACHE(日志中当前显示其处于开启状态),让依赖安装在多次构建之间可以复用缓存,避免每次都重新下载全部包。
  4. 确认 NODE_OPTIONS=--max-old-space-size=6500 已在环境变量中生效(日志中已存在);若已启用 Enhanced Builds,可再评估是否需要上调该值。
  5. 确认 Vercel 部署所需的数据库已正确配置(近期版本该要求为必需项)。

验证方法

重新触发一次 Vercel 部署,观察是否仍在 45 分钟处超时;确认依赖安装阶段不再每次都全量下载(缓存生效后 reused 计数应有所体现),Next.js 构建阶段不再长时间停滞在 sitemap 生成(或 patch 相关)环节,最终部署状态变为成功即可认为问题缓解。若仍失败,需结合新的构建日志进一步定位是安装、sitemap 生成还是 zipfile 相关的报错。

参考来源

lobehub/lobe-chat #15075

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 26038

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注