OpenClaw全平台安装指南:Windows/macOS/Linux/Docker实测与避坑教程

OpenClaw 全平台安装实测:Windows/macOS/Linux/Docker 哪条路最顺?
搞 AI 开发,本地跑一个 OpenClaw 是很多人的第一步。但网上教程要么只讲一个系统,要么踩坑经验零散。我花了两天,在四台机器上把主流安装路径全跑了一遍,把每条路的坑和解法整理出来,帮你少走弯路。
先搞清楚:OpenClaw 是什么?
OpenClaw 是一个开源的 AI Agent 开发框架,你可以把它理解成一个"AI 大脑的骨架"——它帮你处理消息调度、工具调用、记忆管理这些脏活累活,你只需要专注写业务逻辑。类似 Dify 或 Coze,但更轻量,适合想深入理解 Agent 工作原理的开发者。
环境要求一览
不管你用什么系统,先确认这几样东西:
| 项目 | 最低要求 |
|---|---|
| Node.js | ≥ 18.x(推荐 20 LTS) |
| 内存 | ≥ 4GB 可用 |
| 磁盘 | ≥ 2GB 空闲 |
| 网络 | 能访问 npm registry |
路径一:Windows + WSL2(推荐指数:⭐⭐⭐⭐⭐)
为什么选 WSL2? OpenClaw 依赖的很多 npm 包在原生 Windows 上有路径和权限问题,WSL2 提供了一个完整的 Linux 环境,踩坑最少。
步骤 1:开启 WSL2
打开 PowerShell(管理员),执行:
wsl --install -d Ubuntu-22.04重启电脑后,Ubuntu 会自动弹出,设置用户名和密码。
为什么要指定 Ubuntu 22.04? 它的包管理最稳定,社区遇到的问题和解法最多,搜什么都搜得到。
步骤 2:安装 Node.js
进入 WSL 终端:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs验证:
node -v # 应该输出 v20.x.x
npm -v # 应该输出 10.x.x步骤 3:一键安装 OpenClaw
npx openclaw@latest init my-agent
cd my-agent
npm installnpx openclaw@latest init 会自动下载最新版脚手架,生成项目目录。npm install 安装所有依赖。
步骤 4:启动并验证
npm run dev看到 OpenClaw server running on http://localhost:3000 就成功了。浏览器打开这个地址,能看到管理界面。
实测耗时: 约 3 分钟(不含 WSL 首次安装)。
常见问题
EACCES权限错误: 不要用sudo npm install,改用 nvm 管理 Node 版本,或者执行sudo chown -R $(whoami) ~/.npm- WSL 访问 localhost 失败: Windows 防火墙可能拦截了,执行
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=localhost
路径二:Docker 一键部署(推荐指数:⭐⭐⭐⭐⭐)
为什么选 Docker? 环境完全隔离,不污染本机,换机器直接迁移镜像,团队协作最省心。
步骤 1:确保 Docker 已安装
docker --version没装的话,去 docker.com 下载 Docker Desktop。
步骤 2:拉取并运行
docker run -d \
--name openclaw \
-p 3000:3000 \
-v openclaw-data:/app/data \
openclaw/openclaw:latest为什么加 -v openclaw-data:/app/data? 这是把数据持久化到 Docker 卷里,容器删了数据还在。不加这行,你配置的 Agent 和对话记录全没了。
步骤 3:验证
docker logs -f openclaw看到 Server ready 字样,浏览器打开 http://localhost:3000。
实测耗时: 约 1 分钟(前提是 Docker 已装好)。
常见问题
- 镜像拉不下来: 配置 Docker 镜像加速器,编辑
/etc/docker/daemon.json,加入"registry-mirrors": ["https://mirror.ccs.tencentyun.com"],然后sudo systemctl restart docker - 端口冲突: 改
-p 3001:3000用其他端口
路径三:macOS(推荐指数:⭐⭐⭐⭐)
步骤 1:安装 Node.js
用 Homebrew 最省事:
brew install node@20步骤 2:安装并启动
npx openclaw@latest init my-agent
cd my-agent && npm install
npm run dev关于 Rosetta 2: 如果你用的是 M1/M2/M3 芯片,Node.js 20 已经原生支持 ARM,不需要 Rosetta。只有极少数旧版 npm 包可能需要,遇到报错时执行 softwareupdate --install-rosetta 即可。
实测耗时: 约 2 分钟。
常见问题
xcrun: error: invalid active developer path: 执行xcode-select --install安装命令行工具- M 芯片兼容问题: 如果某个依赖编译失败,试试
arch -x86_64 npx openclaw@latest init my-agent强制走 Rosetta
路径四:Linux + systemd(推荐指数:⭐⭐⭐)
适合谁? 想把 OpenClaw 当服务长期跑在服务器上的开发者。
步骤 1:安装 Node.js
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs步骤 2:安装 OpenClaw
sudo mkdir -p /opt/openclaw
cd /opt/openclaw
sudo npx openclaw@latest init .
sudo npm install --production为什么加 --production? 只装运行时依赖,不装开发工具,镜像体积小一半,启动更快。
步骤 3:创建 systemd 服务
sudo tee /etc/systemd/system/openclaw.service << 'EOF'
[Unit]
Description=OpenClaw Agent Server
After=network.target
[Service]
Type=simple
User=openclaw
WorkingDirectory=/opt/openclaw
ExecStart=/usr/bin/node server.js
Restart=always
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
EOF启动服务:
sudo useradd -r -s /bin/false openclaw
sudo chown -R openclaw:openclaw /opt/openclaw
sudo systemctl daemon-reload
sudo systemctl enable --now openclaw步骤 4:验证
sudo systemctl status openclaw
curl http://localhost:3000/health返回 {"status":"ok"} 就正常了。
实测耗时: 约 5 分钟(多了 systemd 配置步骤)。
常见问题
- 服务启动失败:
sudo journalctl -u openclaw -f查看实时日志,通常是端口被占或权限问题 - 想更新版本:
cd /opt/openclaw && sudo npm update && sudo systemctl restart openclaw
四种方案对比
| 方案 | 耗时 | 上手难度 | 适合场景 | 推荐指数 |
|---|---|---|---|---|
| Windows WSL2 | 3min | 低 | 日常开发 | ⭐⭐⭐⭐⭐ |
| Docker | 1min | 最低 | 快速体验/团队协作 | ⭐⭐⭐⭐⭐ |
| macOS | 2min | 低 | Mac 用户日常开发 | ⭐⭐⭐⭐ |
| Linux systemd | 5min | 中 | 服务器长期运行 | ⭐⭐⭐ |
下一步学什么?
装好 OpenClaw 只是开始。建议按这个顺序推进:
- 跑通第一个 Agent: 官方文档的 Quick Start 带你写一个能回答天气的简单 Agent
- 接入工具调用: 学会用 MCP 协议给 Agent 加上搜索、数据库查询等能力
- 部署到生产环境: 配合 Nginx 反向代理 + HTTPS,把你的 Agent 发布到公网
遇到问题,去 OpenClaw GitHub Issues 搜一下,80% 的坑前人都踩过了。