从源码到服务:我在 WSL 里折腾 OpenClaw 的“踩坑”全记录
摘要:本文记录了在WSL(Ubuntu)中源码编译OpenClaw的踩坑经历。主要问题包括:前端构建依赖缺失(需Node.js≥22及编译工具)、Git TLS连接故障(改用SSH协议解决)、pnpm全局目录未初始化、模型配置错误、飞书插件冲突(移除重复插件),以及百度搜索技能安装时的限流和格式问题(改用官方推荐技能)。关键教训:确保环境干净、熟悉工具链、仔细阅读文档。最终成功在普通用户下运行Op
大家好,我最近想在 Windows 的 WSL(Ubuntu)里从源码编译安装 OpenClaw,本以为一切顺利,结果一路踩坑不断。好在最后都爬出来了,今天就把这段“血泪史”整理成一篇通俗易懂的文案,希望能帮到和我一样在 WSL 里折腾 OpenClaw 的朋友。
第 1 关:pnpm build 一上来就罢工
现象
执行 pnpm build,报错 canvas:a2ui:bundle 失败,退出码 254。
原因
前端构建(A2UI)需要的依赖没装全,或者系统缺少编译工具。
解决
-
确认 Node.js 版本 ≥ 22(用
nvm install 22)。 -
安装系统编译依赖:
sudo apt install build-essential python3。 -
升级 pnpm 到最新版,然后删除
node_modules重新pnpm install。
教训
源码编译前,一定要先检查环境和依赖,别硬来。
第 2 关:Git 突然抽风,TLS 连接被重置
现象pnpm install 时 Git 报错 GnuTLS recv error (-110),无法 clone 一个依赖仓库。
原因
Git 的 TLS 库(GnuTLS)与 GitHub 服务器通信时不稳定,常见于网络波动或 Git 版本问题。
解决
试了好几种方法——
-
git config --global http.postBuffer 1048576000增加缓冲区(没用)。 -
git config --global http.sslVerify false临时关闭验证(没用)。 -
最终用 SSH 协议替代 HTTPS:
bash
git config --global url."git@github.com:".insteadOf "https://github.com/"
成功绕过 TLS 问题。
教训
Git 连接问题可以试试切换协议,SSH 往往更稳。
第 3 关:pnpm link --global 找不到全局目录
现象
执行 pnpm link --global,报错 ERR_PNPM_NO_GLOBAL_BIN_DIR。
原因
pnpm 刚装好,还没初始化全局环境。
解决
直接运行 pnpm setup,它会自动配置环境变量和全局 bin 目录,然后 source ~/.bashrc 生效。
教训
新工具先跑一遍 setup,能省很多麻烦。
第 4 关:配置向导里模型报错“Unknown model”
现象
配置向导完成后,对话时提示 Unknown model: baiduqianfancodingplan/qianfan-code-latest。
原因
我在向导里选了百度千帆,但模型 ID 写错了,或者没配置好 provider。
解决
修改为正确的模型名称:
bash
primary: 'qianfan/qianfan-code-latest'
百度千帆官方文档有错,这个坑也被我踩了。
教训
刚上手最好先用通用费模型,减少变量。
第 5 关:飞书插件冲突,两个 feishu 打架
现象
运行 openclaw plugins list,看到两个 feishu 插件,一个官方(loaded),一个社区(disabled)。
原因
之前可能装过社区版,导致插件 ID 重复。
解决
移除社区版插件:
bash
openclaw plugins uninstall @openclaw/feishu # 不行就直接删目录 rm -rf /root/.openclaw/extensions/feishu
然后重启网关,冲突消失。
教训
插件别乱装,装前先 list 看看。
第 6 关:安装百度搜索技能,遭遇“限流”和“旧格式”
现象
用 clawhub install baidu-search 时报 Rate limit exceeded;后来用 openclaw plugins install 又报 package.json missing openclaw.extensions。
原因
-
限流是因为短时间内请求太多,ClawHub 服务端限制了频率。
-
“旧格式”是因为插件版本太老,缺少新 OpenClaw 必需的
openclaw.extensions字段。
解决
-
先登录 ClawHub:
clawhub login(授权 GitHub)。 -
用
npx clawhub@latest确保使用最新客户端。 -
换用官方推荐的技能,比如
tavily-search(联网搜索)、file-organizer等。
教训
安装第三方技能前,先查查文档,看看是不是兼容新版 OpenClaw。
🎉 最后总结
现在,OpenClaw 已经在普通用户下安稳运行,飞书机器人也能正常对话了。回顾整个过程,最大的感悟是:
-
环境要干净:WSL 里跑 systemd 需要额外配置,最好用普通用户。
-
工具要熟悉:pnpm、Git、systemd 的坑提前了解能省很多时间。
-
文档要多看:OpenClaw 官方文档其实写得很详细,只是我一开始没耐心读。
希望我的踩坑经历能帮你少走弯路。如果你也在 WSL 里折腾 OpenClaw,欢迎留言交流!
更多推荐

所有评论(0)