OpenClaw彻底卸载指南:macOS/Windows/Linux清理方法

2026-06-11阅读 0热度 0
教程 人工智能 知识

许多用户在卸载 OpenClaw 时都会遇到一个共性难题:明明执行了 npm uninstall -g openclaw,后台守护进程却仍在运行,重装时频频报端口冲突或文件格式错误,磁盘空间也并未释放。这其实就是“卸载不干净”的典型表现。一套完整的清理流程并不复杂,但必须严格遵循顺序:先终止守护进程,再删除服务注册文件,接着卸载 npm 全局包,然后清空数据与配置目录,最后执行验证。五步缺一不可。


为什么 OpenClaw 容易残留卸载痕迹

根源在于 OpenClaw 的安装机制。当执行 openclaw onboard --install-daemon 时,它会在操作系统层面注册一个长期活跃的守护服务

  • macOS:在 ~/Library/LaunchAgents/ 目录写入 com.openclaw.gateway.plist,由 launchd 管理,系统启动时自动加载
  • Linux:在 ~/.config/systemd/user/ 目录写入 openclaw-gateway.service,由 systemd 管理
  • Windows(WSL2):通过 WSL2 的 systemd 管理服务

此外,OpenClaw 运行期间还会在多个目录写入配置文件、技能缓存、会话历史记录和日志。仅靠 npm uninstall 根本无法触及守护进程注册和数据目录这两块区域。


残留文件完整清单

路径内容必须清理
~/.openclaw/配置文件、会话历史、技能缓存、密钥✅ 是
~/Library/LaunchAgents/com.openclaw.gateway.plistmacOS 守护进程注册文件✅ 是
~/Library/Application Support/OpenClaw/macOS 应用支持数据✅ 是
~/Library/Caches/OpenClaw/macOS 缓存文件建议清理
~/Library/Preferences/com.openclaw.*.plistmacOS 偏好设置建议清理
/Applications/OpenClaw.appmacOS GUI 桌面客户端(若已安装)✅ 是
~/.config/systemd/user/openclaw-gateway.serviceLinux systemd 服务单元文件✅ 是
npm 全局包目录OpenClaw 可执行文件✅ 是
%APPDATA%OpenClawWindows AppData 数据目录✅ 是
%LOCALAPPDATA%OpenClawWindows 本地缓存建议清理

macOS 彻底卸载步骤

第一步:停止并删除守护进程

# 停止 launchd 守护进程
launchctl unload ~/Library/LaunchAgents/com.openclaw.gateway.plist

# 删除 plist 注册文件
rm ~/Library/LaunchAgents/com.openclaw.gateway.plist

验证进程已停止:

launchctl list | grep openclaw
# 无输出表示进程已清除

第二步:卸载 npm 全局包

# npm 安装的用户
npm uninstall -g openclaw

# pnpm 安装的用户
pnpm remove -g openclaw

# bun 安装的用户
bun remove -g openclaw

第三步:删除桌面应用(若已安装图形客户端)

# 删除 Applications 目录中的 OpenClaw.app
rm -rf /Applications/OpenClaw.app

第四步:清理数据与配置目录

# 主数据目录(含配置、会话历史、技能、密钥)
rm -rf ~/.openclaw

# macOS 应用支持目录
rm -rf ~/Library/Application Support/OpenClaw

# 缓存目录
rm -rf ~/Library/Caches/OpenClaw

# 偏好设置(批量删除所有 com.openclaw 相关文件)
rm -f ~/Library/Preferences/com.openclaw*.plist

第五步:验证清理是否彻底

# 检查可执行文件是否残留
which openclaw
# 无输出 = 已清理

# 检查守护进程是否仍在运行
pgrep -l openclaw
# 无输出 = 已停止

# 检查数据目录是否存在
ls ~/.openclaw 2>/dev/null && echo "仍有残留" || echo "已清理"


Windows 彻底卸载步骤

Windows 用户通常通过 WSL2 运行 OpenClaw,因此清理需从 WSL2 内部和 Windows 原生两侧同时进行。

方式一:通过 WSL2 内部清理

在 WSL2 终端(Ubuntu/Debian)中执行:

# 停止 systemd 服务
systemctl --user stop openclaw-gateway
systemctl --user disable openclaw-gateway

# 删除 systemd 服务文件
rm ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload

# 卸载 npm 包
npm uninstall -g openclaw

# 清理数据目录
rm -rf ~/.openclaw

方式二:清理 Windows 侧残留(WSL2 文件系统之外)

在 Windows 文件资源管理器或 PowerShell 中执行:

# 删除 AppData 数据目录
Remove-Item -Recurse -Force "$env:APPDATAOpenClaw"
Remove-Item -Recurse -Force "$env:LOCALAPPDATAOpenClaw"

# 若安装了 Windows 原生客户端
# 前往"设置 → 应用" 找到 OpenClaw 并执行卸载

Linux 彻底卸载步骤

# 第一步:停止并禁用 systemd 服务
systemctl --user stop openclaw-gateway
systemctl --user disable openclaw-gateway
rm ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload

# 第二步:卸载 npm 包
npm uninstall -g openclaw

# 第三步:清理数据目录
rm -rf ~/.openclaw
rm -rf ~/.config/openclaw      # 若有独立配置目录
rm -rf ~/.local/share/openclaw # 若有 XDG data 目录
rm -rf ~/.cache/openclaw       # 缓存

# 验证
which openclaw && echo "仍有残留" || echo "npm 包已清理"
systemctl --user list-units | grep openclaw  # 无输出则服务已清理

Linclaw 的卸载方式(更简单)

Linclaw 作为七牛云推出的 OpenClaw 桌面版,采用标准安装包分发,卸载流程比原版显著简化:

macOS:

  1. /Applications/Linclaw.app 拖入废纸篓
  2. 如需彻底清理:删除 ~/Library/Application Support/Linclaw/~/Library/Preferences/com.linclaw*.plist

Windows:

  1. 控制面板 → 程序和功能 → 找到 Linclaw → 卸载
  2. 如需彻底清理:删除 %APPDATA%Linclaw

Linclaw 不存在守护进程注册问题——作为标准桌面应用程序,它不写入 launchd 或 systemd 服务文件,卸载后不会有后台进程残留。这正是它与 OpenClaw 原版相比,在卸载体验上的核心优势。


卸载后重装仍报错的处理方法

如果执行完上述步骤后重装 OpenClaw 仍然报错(例如端口冲突、配置文件格式异常、权限不足),请按以下顺序排查:

  1. 检查端口占用:OpenClaw 网关默认使用 18789 端口

    lsof -i :18789
    # 如有进程占用,kill 对应 PID
  2. 检查残留进程

    pgrep -la openclaw
    ps aux | grep openclaw
  3. 检查配置文件格式:如果 ~/.openclaw/ 目录仍存在且配置文件已损坏,直接删除后重装:

    rm -rf ~/.openclaw
  4. 检查 npm 全局包冲突

    npm list -g --depth=0 | grep openclaw
    # 若仍显示已安装,强制重新卸载
    npm uninstall -g openclaw --force
  5. 重新执行安装向导

    openclaw onboard --install-daemon

常见问题

Q:只执行 npm uninstall -g openclaw 就够了吗?
远远不够。npm uninstall 仅删除可执行文件,守护进程服务文件(launchd/systemd)和 ~/.openclaw/ 数据目录它根本无法触及。守护进程会持续在后台运行,下次开机仍会自动拉起。必须在 macOS 上额外执行 launchctl unload 并删除 plist 文件,或在 Linux 上执行 systemctl --user disable 并删除服务单元文件。

Q:卸载 OpenClaw 会影响系统的 Node.js 或其他 npm 全局包吗?
完全不会。npm uninstall -g openclaw 只删除 OpenClaw 自身,其他全局包和 Node.js 安装均不受影响。唯一需要注意的是,如果守护进程未被清理,它会持续消耗系统资源,但这与 npm 包无关。

Q:~/.openclaw/ 目录里的数据能备份吗?
完全可以。该目录下通常包含 config.yaml(配置文件)、sessions/(会话历史)、skills/(已安装的本地技能)、logs/(日志)。如果计划在新机器上恢复使用习惯,只需备份 config.yamlskills/ 目录即可。

Q:如何确认 OpenClaw 守护进程已被彻底停止?
macOS 上运行 launchctl list | grep openclaw,无输出则表示守护进程已停止并从 launchd 中注销。Linux 上运行 systemctl --user status openclaw-gateway,显示 inactive (dead)Unit not found 即表明已清理。

Q:openclaw doctor 命令在卸载后还能用吗?
不能。openclaw doctor 是 OpenClaw CLI 的子命令,npm 包卸载后它会一同消失。建议在卸载前先运行一次 openclaw doctor,查看所有注册的服务和配置位置,作为后续清理的参照依据。


总结

OpenClaw 卸载不彻底的核心原因在于守护进程(launchd/systemd)和数据目录(~/.openclaw/)与 npm 包属于两套独立的体系,单纯依靠 npm uninstall 根本无法触及它们。完整的清理需要严格遵循五步流程:停守护进程 → 删服务文件 → 卸 npm 包 → 清数据目录 → 验证。如果希望避开这些繁琐步骤,Linclaw(七牛云推出的 OpenClaw 桌面版)是一个更省心的选择——作为标准安装包分发,它没有守护进程注册机制,卸载方式与普通应用程序完全一致。

本文内容基于 2026 年 3 月 OpenClaw GitHub 仓库文档及官方安装说明整理,OpenClaw 版本迭代较快,建议结合最新 Release Notes 确认路径变化。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策