openclaw ¶
根因确认:
你的 Node.js 是 Kali 通过 apt 装的(24.18.0+dfsg+~cs24.13.2-1),Debian/Kali 打包时对 Node 做了裁剪,OpenClaw 检测到的是系统 SQLite 3.46.1(太老)。而官方原版 Node v24.18.0 内置的是 SQLite 3.53.2,完全达标。
所以不是版本号的问题,是安装源的问题。 解决方案是用 n 工具装官方原版 Node,替换掉 apt 版的。
以下是完整的六步操作,直接逐条复制执行:
第一步:停掉 OpenClaw 服务 ¶
复制
systemctl --user stop openclaw-gateway
第二步:安装 Node 版本管理工具 n ¶
复制
npm cache clean -f
npm install -g n
第三步:用 n 安装官方原版 Node v24.18.0 LTS ¶
复制
n 24.18.0
装完后确认是否生效:
复制
# 检查/usr/local/bin 下的 node 是否指向新的
/usr/local/bin/node --version
# 应该输出 v24.18.0
第四步:修改 systemd 服务文件,指向新的 Node ¶
因为系统服务文件里写死了 /usr/bin/node,我们要改成 /usr/local/bin/node:
复制
sed -i 's|ExecStart=/usr/bin/node|ExecStart=/usr/local/bin/node|' ~/.config/systemd/user/openclaw-gateway.service
改完确认一下:
复制
grep ExecStart ~/.config/systemd/user/openclaw-gateway.service
# 应该输出: ExecStart=/usr/local/bin/node /usr/local/lib/node_modules/openclaw/dist/index.js gateway --port 18789
第五步:重新安装 OpenClaw 最新版 ¶
复制
npm install -g openclaw@latest
第六步:启动并验证 ¶
复制
systemctl --user daemon-reload
systemctl --user start openclaw-gateway
openclaw status
如果没有 SQLite 报错,启动正常,就搞定了。🦁
如果还有问题,执行以下命令把输出贴给我看:
复制
journalctl --user -u openclaw-gateway --no-pager -n 30