避坑指南:在 Oracle ARM VPS 上部署 OpenClaw 的记录
导语: 最近 AI 助手项目 OpenClaw 火遍全网,GitHub star 数在短短一个月内突破 15K。作为一名喜欢折腾 VPS 的玩家,我也在甲骨文云(Oracle Cloud)的 ARM 架构实例上体验了一把。虽然官方提供了一键脚本,但在 ARM 这种“非标”环境下还是遇到了不少坑,特此记录。
1. 部署逻辑概览
OpenClaw 的设计非常模块化。核心逻辑大致分为:环境安装 → 模块选择 → 组件安装 → 接口配置。
官方提供的一键脚本:
$ curl -fsSL https://openclaw.ai/install.sh | bash
官方并没有调用DeepSeek API的接口,要想使用DeepSeek,需要先接入一个已有模型(如QWEN、Gemini、GPT等),跑通后再切换为 DeepSeek API。这步可以告诉AI APIkey,其余由AI自行完成。(再一次体会到”AI有了手“的强大之处) 后续接口我用的是Telegram,在Telegram 侧只需将 Bot Token 配置到 OpenClaw,消息会通过 Webhook 自动转发给 Gateway 进行处理。
具体配置的流程详见官方网站: https://open-claw.me/zh/guide/getting-started
2. 遇到的坑与解决方案
坑位一:pnpm 指令“神秘失踪”
现象: 脚本运行中途报错 main: line 914: pnpm: command not found。
原因: 一键脚本使用 Corepack 安装 pnpm,但在部分 ARM / 非交互 Shell 环境中,pnpm 的 PATH 未被正确加载,导致指令不可用。
解决: 手动启用 corepack 并重新加载环境:
Bash
corepack enable
source ~/.bashrc # 如果是 Zsh,请使用 source ~/.zshrc
坑位二:ARM 架构下的 C++ 编译噩梦
现象: 由于 ARM64 缺乏预编译的 node-llama-cpp 二进制文件(即使主要使用云端模型(Qwen / DeepSeek),OpenClaw 的依赖树中仍包含 node-llama-cpp),程序会自动尝试“从源码构建(falling back to building from source)”,在 ARM 环境下会触发源码编译。随后由于系统缺少编译工具导致报错:
Error: cmake not found 或 make: command not found。
解决: Oracle 的精简系统通常不带编译套件,需要手动补齐。注意:CMake 版本必须 $\ge 3.19$。
# 更新源并安装基础构建工具
sudo apt update && sudo apt install -y build-essential wget
# 手动安装高版本 CMake (以 3.28.3 为例)
wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-aarch64.sh
sudo bash cmake-3.28.3-linux-aarch64.sh --skip-license --prefix=/usr/local
# 验证版本
cmake --version
完成后,回到目录手动执行安装。注意,由于是本地编译,node-llama-cpp 这一步会非常吃 CPU,卡住是正常的,请耐心等待。
cd ~/openclaw
pnpm install
坑位三:状态目录丢失
现象: 启动时提示 CRITICAL: state directory missing (~/.openclaw)。
解决: 需要初始化配置目录:
openclaw setup
3. 最后一步:启动服务
为了保证服务持久化运行,建议使用 systemd。
- 构建 UI 界面:
cd ~/openclaw
pnpm ui:build
- 启动 Gateway 并在后台运行:
# 启动网关
openclaw gateway start
# 使用 user 级别的 systemctl 确保开机自启
systemctl --user enable openclaw-gateway
systemctl --user start openclaw-gateway
总结
在甲骨文 ARM 机器上跑 OpenClaw,最大的门槛在于编译环境。只要解决了 cmake 和 pnpm 的路径问题,剩下的流程还是非常顺滑的。建议大家在部署前先检查一遍内核工具链,能省去不少排错时间。
需要注意的是由于OpenClaw的记忆机制会增加token的消耗,实测来回十几次就会达到百万token,需要设置AI调用的边界,否则,“睡一觉起来发现AI消耗了几百刀“的段子将变为现实。