当前位置:首页>Linux>在 Windows11 + WSL2 Linux 子系统的双系统下,让 WSL 中的 OpenClaw 能相对稳、少踩坑的升级流程.

在 Windows11 + WSL2 Linux 子系统的双系统下,让 WSL 中的 OpenClaw 能相对稳、少踩坑的升级流程.

  • 2026-09-07 10:57:25
在 Windows11 + WSL2 Linux 子系统的双系统下,让 WSL 中的 OpenClaw 能相对稳、少踩坑的升级流程.

    在 Windows 环境下的 WSL2 ,也就是 linux 子系统,经常会发生和主系统串号的问题,有的小伙伴分别在Windows下和WSL2下都安装了 OpenClaw ,结果升级的时候由于互相串号,结果小龙虾升级完成后就睡死过去无法启动了。

    所以,我总结了一些让 WSL 中的 OpenClaw 能相对稳、少踩坑的升级流程,这篇文章的核心目标就三件事:

  1. 只用 WSL 自己的 node/npm/openclaw
  2. 全局安装路径固定到 Linux 家目录
  3. 升级前先停服务、清旧包、再装新包

一、先确认你现在用的是 WSL 自己的 Node,不是串到 Windows 版

先跑:

  1. which node
  2. which npm
  3. which openclaw
  4. node -v
  5. npm -v

理想情况是类似这样:

  1. /usr/bin/node
  2. /usr/bin/npm
  3. /home/htc/.npm-global/bin/openclaw

如果你看到的是 /mnt/c/... 或 C:\... 映射过来的路径,那就说明串了,不要直接升级,先修 PATH。


二、确保 npm 全局目录在 WSL 家目录

建议固定成你现在这套:

  1. npm config get prefix

理想输出:

  1. /home/htc/.npm-global

如果不是,就设一下:

  1. npm config set prefix ~/.npm-global

然后把下面这些放进 ~/.bashrc 或 ~/.zshrc:

  1. export PATH="$HOME/.npm-global/bin:$PATH"

立刻生效:

  1. export PATH="$HOME/.npm-global/bin:$PATH"
  2. hash -r

再确认一次:

  1. npm config get prefix
  2. echo $PATH
  3. which openclaw

三、升级前先停掉正在跑的 OpenClaw

如果 OpenClaw 正在运行,npm 更新时容易出各种脏状态。先停:

  1. openclaw gateway stop

如果停不下来,补一刀查进程:

  1. ps aux | grep openclaw
  2. ps aux | grep node

必要时手动结束相关进程。


四、在 Linux 家目录操作,不要站在 /mnt/c/... 下面升级

先切回家目录:

  1. cd ~
  2. pwd

应该是:

  1. /home/htc

别在/mnt/c/Users/... 下面跑全局安装。虽然理论上也能跑,但 WSL + Windows 挂载目录一起用时,更容易碰到权限、链接、缓存、rename 之类脏问题。


五、清理旧的 OpenClaw 全局包

你这次已经遇到过 ENOTEMPTY,所以建议直接清干净再装:

  1. rm -rf ~/.npm-global/lib/node_modules/openclaw
  2. rm -f ~/.npm-global/bin/openclaw
  3. hash -r

可选:顺手看一下目录状态

  1. ls -la ~/.npm-global/lib/node_modules/
  2. ls -la ~/.npm-global/bin/

六、清 npm 缓存并安装最新版

  1. npm cache verify
  2. npm i -g openclaw@latest --verbose --fetch-timeout=120000--fetch-retries=2

如果你网络一般,也可以先不用 verbose,输出更干净:

  1. npm i -g openclaw@latest --fetch-timeout=120000--fetch-retries=2

七、安装后立刻验证是不是装对了

  1. which openclaw
  2. openclaw --version
  3. openclaw status

你要重点看:

  • which openclaw
     指向的是不是 ~/.npm-global/bin/openclaw
  • 版本是不是新版本
  • openclaw status
     能不能正常跑

八、重新启动网关

如果安装正常,再启动:

  1. openclaw gateway start

然后再看状态:

  1. openclaw gateway status
  2. openclaw status

推荐的一次性命令清单

如果你想直接照抄,按这个顺序最稳:

  1. cd ~
  2. which node
  3. which npm
  4. which openclaw
  5. node -v
  6. npm -v
  7. npm config set prefix ~/.npm-global
  8. export PATH="$HOME/.npm-global/bin:$PATH"
  9. hash -r
  10. openclaw gateway stop
  11. rm -rf ~/.npm-global/lib/node_modules/openclaw
  12. rm -f ~/.npm-global/bin/openclaw
  13. hash -r
  14. npm cache verify
  15. npm i -g openclaw@latest --fetch-timeout=120000--fetch-retries=2
  16. which openclaw
  17. openclaw --version
  18. openclaw status
  19. openclaw gateway start
  20. openclaw gateway status

如果还出错,优先看这几类问题

1. ENOTEMPTY

说明旧目录没清干净。继续查:

  1. ls -la ~/.npm-global/lib/node_modules/openclaw

如果目录还在,说明有残留或占用,删掉再装。


2. which openclaw 指到 Windows 路径

比如跑出来 /mnt/c/...

说明 PATH 顺序错了。先看:

  1. echo $PATH

确保 ~/.npm-global/bin 在前面。必要时重新开 shell:

  1. exec bash

3. node / npm 走的是奇怪版本

如果你想长期更稳,我反而建议 WSL 里用 nvm 管理 Node。这样 Node 升级和 npm 全局包都更可控,不容易跟系统包缠在一起。


我的建议,别省这两个检查

每次升级完,至少跑这两个:

  1. which openclaw
  2. openclaw status

因为“安装成功”和“真正跑的是你刚装的那个版本”,是两回事。

温馨提示: 关注可获取更多精彩内容

最新文章

随机文章