三类反复出现的安装痛点,看起来都像「OpenClaw 坏了」
工单多是现象描述,背后常有三类模式:路径混用、升级不带数据、跳过排障顺序。
1)路径不一致。 脚本、全局 npm、Compose 混用则配置与缓存位置各异,故障时争不出该备份哪一目录、哪个 unit 在跑网关。
2)无数据契约的升级。 状态未迁走像「全新安装」,无快照回滚则旧二进制可能读新 schema。数据目录应视为一等迁移面。
3)跳过阶梯。 应先进程与端口、网关 HTTP、openclaw doctor、再最小复现日志;勿未确认挂载就删 node_modules。
记录 Node、锁文件或镜像 digest、升级前 tarball 配置,便于证明回归来源。
路径选择矩阵:试用笔记本、团队标准机与生产主机
架构评审与救火皆可对照;不同 OS 路径不同,风险形态相近。
| 路径 | 最适用 | 主要风险 | 最小控制面 |
|---|---|---|---|
| install.sh 引导流 | 个人首次成功、演示、黄金路径入职 | 版本间脚本行为不透明 | 固定脚本 URL 或校验和、记录标准输出、快照配置目录 |
| npm 或 pnpm CLI | 快速迭代、单体仓库工程师、CI 代理 | 全局与本地 CLI 混淆、Node 漂移 | Volta 或 fnm 固定 Node、非 root 服务账号、仓库内锁文件 |
| Docker Compose 栈 | 生产一致性、可重复端口与卷 | 卷挂载错误、镜像 tag 漂移 | 命名卷或绑定挂载配文档化属主、digest 固定镜像 |
若难分高下,优先文件系统边界更明确的方案;多一个卷往往比个人账号混跑生产网关更少周末告警。
install.sh 路径:它优化了什么,仍需要你守住的纪律
脚本把多步收成一条命令,但校验和、密钥不入历史、代理对齐仍靠你;共享跳板注意 profile 与全局二进制的副作用。
固定脚本校验和、留终端记录;完成后 openclaw doctor 并对 18789(或团队统一端口)做 HTTP 探测。
典型坑:权限、SSL 拦截、执行用户与 systemd 用户不一致致「SSH 行、重启死」。
npm 与 pnpm 路径:Node 固定、全局 CLI 取舍与权限卫生
用版本管理器钉死 Node 大版本;勿混全局与本地 CLI。pnpm 省盘,npm 更熟;网关用专用 Unix 账号,勿与个人休眠会话混用。
镜像与超时写进 runbook;which openclaw 确认路径后 doctor。禁全局时用稳定 npx/脚本封装。
Docker Compose 路径:卷、端口、重启策略与资源底线
YAML 固定镜像与重启;坑在挂卷与 UID。.env 按密钥轮换管理。
最小暴露端口,TLS 走反代;小节点留约 1.5 GiB RAM 余量,unless-stopped 自愈。
容器内同样 status→doctor→日志;健康检查与 LB 探针对齐。
示例排障顺序(主机或容器内)
openclaw status
curl -sS -m 5 http://127.0.0.1:18789/health || echo "gateway probe failed"
openclaw doctor
openclaw health --json > /tmp/openclaw-health-$(date +%Y%m%d%H%M).json
openclaw logs --follow
若反代在外部终结,请改写端口;保持逻辑顺序不变——进程、网关 HTTP、静态校验、运行时健康 JSON,再到叙事日志。
升级、回滚、排障顺序,以及何时值得用托管远程 Mac
升级前备份配置、环境、密钥库中的通道令牌与昂贵缓存; tarball 与旧 digest/锁文件并列。预发同参验证 doctor 与 health JSON 后低峰上线。
回滚即恢复制品并用旧镜像 tag/包版本重启;有 schema 迁移须先读发行说明。
事故顺序:status→网关 HTTP→doctor→日志。
- npm ci 卡住: 先查镜像、MTU、CPU 节流。
- doctor 净但通道静默: 看桥接与令牌。
- Compose 升级: diff 卷路径再动数据。
小结: 三路径取舍在速度、手感与可重复性;备份、钉 Node、排障顺序契约化才能体面失败。
局限: 睡眠本、账号混用、无文档手改常先于打包问题。
SFTPMAC: 托管远程 Mac 稳定供电、原生工具链,可与 SFTP/rsync 同机,减少休眠与权限漂移。
两天黑客松选哪条路径?
优先 install.sh 或文档化的 npm 脚本且全局副作用最小;离场前快照配置。
受监管生产选哪条?
优先 Compose + 固定 digest、从保险库注入密钥、对命名卷做自动备份。
每次改环境都要重跑 doctor 吗?
要;doctor 的成本远低于无假设 tail 一小时日志。
需要在与托管文件同步工作流相邻的稳定 Mac 上跑 OpenClaw?对比 SFTPMAC 方案并在该环境基线化你的网关。
