华为云服务器安装openclaw记录

Flexus应用服务器L实例,2核 | 2GiB | 系统盘 40GiB | 流量包 400GB | 峰值带宽 3Mbit/s,云商店的OpenClaw镜像版本还停留在2026.3.2,为了能升级到后续的2026.3.13版本尝试了很多方法,几乎都是以 JavaScript heap out of memory 错告终,让我一度以为2G内存根本就升不上去2026.3.13版本。不过失败乃成功之母,最终还是靠总结多次失败的经验教训,摸索出了可以成功升级的方法步骤。

首先我们要清楚,华为云服务器商店的openclaw版本是如何运行的:

  • pnpm wrapper~/.local/share/pnpm/openclaw(调用 openclaw.mjs
  • systemd 服务:直接跑 /home/openclaw/.nvm/versions/node/v22.22.1/bin/node /home/openclaw/openclaw/dist/index.js gateway

安装方式:pnpm 全局安装(~/.local/share/pnpm/openclaw → 软链接到源码)
运行方式:systemd 用户服务(openclaw-gateway)
源码路径:/home/openclaw/openclaw

具体的升级步骤如下:

环境是 pnpm 源码安装 + systemd 服务,升级步骤:

1. 进入源码目录拉最新代码

bash
cd /home/openclaw/openclaw && git pull

完成这一步命令后,终端会弹出目前的版本分支信息

  • [new branch] vk/revert_last_clean -> origin/vk/revert_last_clean
  • [new tag] v2026.3.11 -> v2026.3.11
  • [new tag] v2026.3.11-beta.1 -> v2026.3.11-beta.1
  • [new tag] v2026.3.12 -> v2026.3.12
  • [new tag] v2026.3.13-1 -> v2026.3.13-1
  • [new tag] v2026.3.13-beta.1 -> v2026.3.13-beta.1
  • [new tag] v2026.3.7 -> v2026.3.7
  • [new tag] v2026.3.7-beta.1 -> v2026.3.7-beta.1
  • [new tag] v2026.3.8 -> v2026.3.8
  • [new tag] v2026.3.8-beta.1 -> v2026.3.8-beta.1
    You are not currently on a branch.
    Please specify which branch you want to merge with.
    See git-pull(1) for details.

git pull <remote> <branch>

当前版本是 v2026.3.2(detached 状态),最新 tag 是 v2026.3.13-1

升级步骤:

bash
cd /home/openclaw/openclaw

# 先暂存本地改动
git stash push pnpm-lock.yaml

# 切换到最新版
git checkout v2026.3.13-1

终端提示root@hcss-ecs-f53d:/home/openclaw/openclaw# git checkout v2026.3.13-1
Previous HEAD position was 85377a2817 chore(release): cut 2026.3.2
HEAD is now at 61d171ab0b fix(browser): restore batch playwright dispatch

需要的话,之后可以 git stash pop 恢复本地改动(如果升级后有问题,不出问题不用管)。

2. 重新安装依赖并构建

bash
pnpm install && pnpm build

注意:因为部分包会比较大,可能会导致响应超时,建议切换到国内镜像站点(install过程要等很久,一定要等程序跑完)

pnpm config set registry https://registry.npmmirror.com
pnpm install

装完后再切回官方源:(也可以不切,看你服务器在国内还是国外)

bash
pnpm config set registry https://registry.npmjs.org

重点来了,执行过程中会出现报错,因为内存不够!

<--- Last few GCs --->

[24096:0x18dd0000] 28738 ms: Mark-Compact 882.6 (890.6) -> 875.3 (890.6) MB, pooled: 0 MB, 779.54 / 0.00 ms (average mu = 0.206, current mu = 0.038) allocation failure; scavenge might not succeed

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

1: 0x735eec node::OOMErrorHandler(char const*, v8::OOMDetails const&) [node]
2: 0xbafc40 [node]
3: 0xbafd2f [node]
4: 0xe48825 [node]
5: 0xe48852 [node]
6: 0xe48b4a [node]
7: 0xe5906a [node]
8: 0xe5d410 [node]
9: 0x18efec1 [node]
Aborted (core dumped)

构建时 Node.js 内存不足了。v24.14.0 用的是 1GB 堆内存,当前环境撑不住。

处理方案:增加内存限制

bash
export NODE_OPTIONS="--max-old-space-size=4096"
pnpm install && pnpm build

执行上面的操作后,基本上就宣布升级成功了

当前的版本和状态:

  • 已运行版本:v2026.3.13-1 + Node.js v24.14.0 ✅
  • 服务状态:active (running)

确认正常的话不用动,等几分钟看看内存使用稳不稳。

3. 如果构建后 UI 有变化,还需要跑一下:

bash
pnpm ui:build

另外,升级完成后建议跑一遍 openclaw doctor 检查状态:

bash
openclaw doctor

4. 验证

bash
systemctl --user status openclaw-gateway
openclaw gateway health

知识点:Node.js 本身不会主动用 swap——它是在物理内存不够时由系统决定换页。问题不是 swap 没有,而是 Node.js 的堆内存上限太小,爆了。需要通过 NODE_OPTIONS 告诉它可以用更大的内存:

# 在 gateway 环境里设置更大的堆上限
openclaw gateway stop

# 临时生效——重启 gateway 时带上这个变量
NODE_OPTIONS="--max-old-space-size=4096" openclaw gateway restart

# 之后升级也同理
NODE_OPTIONS="--max-old-space-size=4096" openclaw update --yes

持久化设置(每次启动都生效):

# 编辑 systemd 服务环境
sudo systemctl edit openclaw-gateway

加入:

[Service]
Environment="NODE_OPTIONS=--max-old-space-size=4096"

然后 reload:

sudo systemctl daemon-reload && sudo systemctl restart openclaw-gateway

简单说——--max-old-space-size=1024 是告诉 Node.js "你可以用最多 4GB 堆内存",物理内存不够时系统会自动走 swap。这样更新就不会爆了。 

查看 OpenClaw Gateway Token 的方法:

方法1:查看配置文件中的 token

grep -A 2 '"auth"' /home/openclaw/.openclaw/openclaw.json

方法2:查看环境变量中的 token

echo $OPENCLAW_GATEWAY_TOKEN

方法3:查看进程环境中的 token

ps aux | grep openclaw-gateway | grep -v grep | awk '{print $2}' | xargs -I {} sudo cat /proc/{}/environ 2>/dev/null | tr '\0' '\n' | grep -i token

方法4:检查 Gateway 状态(会显示配置信息)

openclaw gateway status

方法5:直接查看配置文件

cat /home/openclaw/.openclaw/openclaw.json | python3 -m json.tool | grep -A 5 -B 5 "auth"

使用这个 token 访问前端:

http://127.0.0.1:18789/chat?token=”你的token”

🔒

此内容已加密

输入密码即可查看隐藏内容

相关推荐

场内ETF基金整理

一,宽基指数类 1,上证50 510050 (华夏,规模最大,短线投机优选)510100(易方达,费率最低0.2%,成交量差但有做市 ...

暂无评论

发表评论