为什么我卸载后 OpenClaw 仍然能工作

发布: (2026年2月27日 GMT+8 16:42)
3 分钟阅读
原文: Dev.to

Source: Dev.to

设置

如果你看到这篇文章,说明你可能正处在和我当初相同的情况。运行 openclaw 时,系统没有返回 “command not found”,而是把完整的使用手册打印出来——即使已经按照官方的卸载说明操作过。

我使用 openclaw.ai 官方文档安装了 OpenClaw。想要移除时,我严格遵循了它们的卸载步骤:

  • 使用内置的 OpenClaw 卸载脚本
  • 停止网关服务
  • 删除状态目录
  • 删除全局 npm 安装
  • 检查 systemd/launchctl/计划任务

结果…… openclaw 仍然存在。

我核实了所有内容:

systemctl list-units | grep openclaw
# Nothing.

dpkg -l | grep openclaw
# Nothing.

npm list -g | grep openclaw
# Nothing.

当时感觉像是恶意软件。其实并不是。

“等等… 什么?”的时刻

转折点是运行了下面的两个命令。一个词解释了一切:哈希(hashed)

“哦… 原来是它” 的时刻

我使用 NVM(Node Version Manager)。这意味着每个 Node 版本都有自己的全局 npm 包。

  • 我之前在使用 Node v22.14.0 时安装了 OpenClaw。
  • 后来切换到了 Node v25

但是旧的 Node v22 bin 目录仍然在我的 $PATH 中。Bash 已经缓存(哈希)了该命令的位置。即使在当前的 Node 版本中执行了卸载,旧的二进制文件仍然保存在 v22 文件夹中:

~/.nvm/versions/node/v22.14.0/bin/openclaw

Bash 仍然从缓存中运行它。

实际发生了什么

旧的二进制文件残留在之前的 Node 版本的全局 bin 目录中,而 Bash 的命令哈希表仍指向它。

真正的解决办法

两条命令解决了一切:

rm -f ~/.nvm/versions/node/v22.14.0/bin/openclaw
hash -r

现在:

which openclaw
# openclaw not found

OpenClaw 的文档是正确的。问题不在工具本身,而在我的环境。

为什么 OpenClaw 仍然有响应?

如果这篇文章帮你省去了数小时的困惑,欢迎分享——因为此时此刻还有人正敲入:

openclaw

却不明白它为何拒绝卸载。

0 浏览
Back to Blog

相关文章

阅读更多 »