Linux服务器安装OpenClaw:从踩坑到成功
最近需要在新买的Linux服务器上安装OpenClaw,过程比想象中曲折。这篇文章把完整流程和踩过的坑整理出来,供有同样需求的同学参考。 - 用户:shanyinke(普通用户,有sudo权限) OpenClaw 2026.5.2要求Node.js v22.19以上。先检查当前版本: 这台服务器预装的是v18.19.1,不满足要求。不能直接用apt upgrade nodejs(会污染系统依赖),也不能用apt install npm(nodejs源没配)。 curl -fsSL https://deb.nodesource.com/setup_22.x | bash - apt-get install -y nodejs 由于没有sudo写入系统目录的权限,用npm的--prefix功能安装到用户目录: npm install -g openclaw --prefix ~/npm-global mkdir -p ~/npm-global/bin ln -sf ~/npm-global/lib/node_modules/openclaw/openclaw.mjs ~/npm-global/bin/openclaw 2.加入.bashrc(或者直接链接到系统目录): sudo ln -sf ~/npm-global/lib/node_modules/openclaw/openclaw.mjs /usr/local/bin/openclaw OpenClaw 2026.5.2 (8b2a6e5) 如果遇到"missing gateway.mode"错误,需要手动设置模式为local: echo '{"gateway":{"mode":"local"}}' > /tmp/patch.json5 openclaw config patch --file /tmp/patch.json5 默认网关只监听127.0.0.1,如果需要从其他机器访问,需要改成lan模式: echo '{"gateway":{"bind":"lan"}}' > /tmp/patch.json5 openclaw config patch --file /tmp/patch.json5 echo '{"gateway":{"controlUi":{"allowedOrigins":["http://localhost:18789","http://127.0.0.1:18789","http://192.168.32.81:18789"]}}}' > /tmp/patch.json5 openclaw config patch --file /tmp/patch.json5 如果看到"Listening: *:18789"说明配置成功,可以通过 http://192.168.32.81:18789 访问控制台了。 网关安装时会自动生成一个令牌,存储在 ~/.openclaw/openclaw.json 里。可以用以下命令查看(隐藏显示): openclaw config get gateway.auth.token 注意:这个令牌是网关的管理凭证,请妥善保管,不要泄露到公开场所。 npm install -g openclaw --prefix ~/npm-global --registry https://registry.npmmirror.com 如果sudo不需要密码,直接用sudo命令。如果需要交互式密码,建议配置sudoers免密,或者用sudo -S从stdin读取。 检查日志:journalctl --user -u openclaw-gateway.service -n 50 --no-pager 常见原因:配置文件缺少gateway.mode,手动patch一下即可。 - 用--prefix把OpenClaw装到用户目录,避免权限问题 - 手动创建openclaw.mjs的软链接(npm的bin链接有时不准) - 首次安装后需要gateway install并设置mode=local 如果遇到其他问题,建议查看官方文档或运行openclaw status排查。 本文仅供参考,不作为技术建议。如有操作疑问可在留言区留言。