
pnpm install command failed
快速结论:这个报错通常发生在从源码构建 LobeChat 时,pnpm install 因 @lobehub/editor 的 postinstall 脚本失败而中断。优先排查是否使用了 pnpm v11(不兼容),应切换回项目要求的 pnpm@10.33.0。
问题场景
用户尝试在 Debian 13 Linux 系统上从源码安装 LobeChat(v2.2.7 和 canary 8c7b9cda549634b7875e52e19d303d9dd333c021 均复现),运行 pnpm install 时触发构建失败。
报错原文
$ pnpm install
...
[WARN] The "pnpm" field in package.json is no longer read by pnpm. The following keys were ignored: "pnpm.onlyBuiltDependencies", "pnpm.overrides", "pnpm.patchedDependencies". See https://pnpm.io/settings for the new home of each setting.
Scope: all 93 workspace projects
...
node_modules/.pnpm/@lobehub+editor@4.18.0_.../node_modules/@lobehub/editor: Running postinstall script...
node_modules/.pnpm/ffmpeg-static@5.3.0/node_modules/ffmpeg-static: Running install script...
ELIFECYCLE Command failed.
原因分析
已知构建失败根因是 @lobehub/editor 的 postinstall 脚本在尝试对 Lexical 打补丁时失败,触发 ELIFECYCLE 错误。Issue 评论区指向这是与 #14394 相同的已知问题。
可能原因:用户运行的 pnpm 版本为 v11(从警告 “The ‘pnpm’ field in package.json is no longer read by pnpm” 判断),而项目在 package.json 中明确要求 pnpm@10.33.0。pnpm v11 不读取 onlyBuiltDependencies、overrides、patchedDependencies 等配置,导致依赖解析和构建行为发生偏移,最终使 Lexical 补丁上下文不匹配而失败。
环境排查
- 操作系统:Debian 13(Other Linux)
- pnpm 版本:如果出现
The "pnpm" field in package.json is no longer read by pnpm警告,很可能运行的是 pnpm v11 - 项目要求:pnpm@10.33.0(由
packageManager字段指定) - LobeChat 版本:v2.2.7 及 canary 8c7b9cda549634b7875e52e19d303d9dd333c021 均复现
- 依赖:
@lobehub/editor@4.18.0(postinstall 脚本失败)
解决步骤
- 确认当前 pnpm 版本:运行
pnpm --version检查版本号。 - 切换到正确的 pnpm 版本(可优先尝试):使用 corepack 安装并激活
pnpm@10.33.0。corepack enable corepack prepare pnpm@10.33.0 --activate - 清除缓存后重新安装(建议):删除
node_modules和pnpm-lock.yaml,然后再次运行pnpm install。 - 检查 canary 分支是否已合并修复:PR #14200 通过锁定 editor 依赖和对齐包管理器版本来修复该问题。如果已合并,拉取最新 canary 代码后可尝试重新安装。
验证方法
执行 pnpm install 后不再出现 ELIFECYCLE Command failed 错误,且无 The "pnpm" field in package.json is no longer read by pnpm 警告,即表示问题已解决。


