OpenClaw Gateway 安装报错排查与解决
最近在安装 OpenClaw Gateway 时,遇到了一个比较棘手的错误。执行安装命令后,系统反馈 systemctl is-enabled unavailable,导致服务无法启动。
虽然看起来只是简单的 systemd 报错,但背后涉及 systemd user service、Node.js/nvm 环境配置以及 PATH 环境变量等多个层面的交互。以下是完整的排查过程与最终解决方案。
运行环境
本次排查基于以下环境:
- OS: Windows 11 + WSL2 (Ubuntu 24.04.4 LTS)
- Runtime: nvm + Node v24.14.0
- Tool: OpenClaw 2026.3.2
安装完成后执行 openclaw onboard --install-daemon,报错如下:
Gateway service check failed:
Error: systemctl is-enabled unavailable
Command failed: systemctl --user is-enabled openclaw-gateway.service
架构分析
OpenClaw Gateway 依赖 systemd user service 来守护进程。其运行链路大致为:
OpenClaw CLI
└─> openclaw gateway install
└─> systemctl --user
└─> systemd user service
└─> openclaw-gateway.service
└─> Node runtime (nvm)
└─> OpenClaw Gateway
任何一层配置不当,都会导致 Gateway 无法拉起。本质上,systemd 负责守护 Node 进程,因此必须确保 systemd 能正确找到 Node 可执行文件及依赖环境。
排查步骤
1. 检查 Service 状态
首先确认服务是否被禁用:
systemctl --user is-enabled openclaw-gateway.service
输出显示 disabled。尝试启用服务:
systemctl --user enable openclaw-gateway.service
但这往往治标不治本,因为如果路径或环境变量不对,服务依然会启动失败。
2. 定位关键路径
systemd 不会自动加载 .bashrc 或 nvm 的环境变量,因此必须使用绝对路径。通过 which 命令确认 Node 和 OpenClaw 的实际位置:
which node
# /home/tesla/.nvm/versions/node/v24.14.0/bin/node
which openclaw
# /home/tesla/.nvm/versions/node/v24.14.0/bin/openclaw
3. 修改 Service 文件
编辑用户级服务配置文件:


