完整卸载 OpenClaw — 各平台卸载完全指南(Windows/macOS/Linux/npm/pnpm)

完整卸载 OpenClaw — 各平台卸载完全指南(Windows/macOS/Linux/npm/pnpm)
涵盖所有安装方式的逐步卸载教程 — Windows、macOS、Linux、npm、pnpm 全部搞定。

平台支持:🪟 Windows PowerShell · ⌨️ Windows CMD · 🍎 macOS / Linux · 📦 npm · ⚡ pnpm

在这里插入图片描述

目录


卸载前的准备工作

在开始卸载之前,建议先做几件事情,确保卸载后不留残余文件。

步骤 1 — 停止正在运行的 OpenClaw 守护进程(daemon)

如果你使用了 Gateway 服务,先手动停止它,否则可能有残留进程占用端口或文件。

# 停止守护进程 openclaw daemon stop # 或者停止 Gateway 服务 openclaw gateway stop 

步骤 2 — (可选)备份配置文件

如果你不确定是否需要保留已有配置,建议先备份:

  • macOS / Linux:~/.openclaw/
  • Windows:%USERPROFILE%\.openclaw\
⚠️ 注意: 卸载 OpenClaw 本体不会自动删除你的配置目录(~/.openclaw/),如需彻底清除,需要手动删除该目录。

Windows — PowerShell 安装的卸载方法

安装命令:iwr -useb https://openclaw.ai/install.ps1 | iex

PowerShell 脚本通过 npm install -g openclaw 全局安装 OpenClaw,并将其写入 Windows 的用户 PATH(通常是 %APPDATA%\npm)。

步骤 1 — 以管理员身份打开 PowerShell,执行 npm 卸载命令

npm uninstall -g openclaw 

步骤 2 — 验证卸载成功

Get-Command openclaw -ErrorAction SilentlyContinue # 如果没有任何输出,说明已卸载成功

步骤 3 — (彻底清除)删除配置目录与残留文件

# 删除配置目录Remove-Item-Recurse -Force "$env:USERPROFILE\.openclaw"# 如果有遗留的 git 安装(~/openclaw 目录),一并删除Remove-Item-Recurse -Force "$env:USERPROFILE\openclaw"# 删除 .local\bin 中的包装脚本(git 方式安装时创建)Remove-Item-Force "$env:USERPROFILE\.local\bin\openclaw.cmd"-ErrorAction SilentlyContinue 
💡 如果 PowerShell 安装时使用了 -InstallMethod git 参数,还需额外删除 $env:USERPROFILE\openclaw(git 克隆目录)和 $env:USERPROFILE\.local\bin\openclaw.cmd(包装脚本)。

Windows — CMD 安装的卸载方法

安装命令:curl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

CMD 脚本的底层安装机制与 PowerShell 脚本相同,最终都是通过 npm install -g openclaw 完成安装,因此卸载方式一致。

步骤 1 — 打开命令提示符(CMD),执行卸载命令

npm uninstall -g openclaw 

步骤 2 — 验证卸载结果

where openclaw :: 若显示"无法找到文件"则卸载成功 

步骤 3 — (彻底清除)删除配置与遗留文件

:: 删除配置目录 rmdir /s /q "%USERPROFILE%\.openclaw" :: 删除 git 源码目录(如果存在) rmdir /s /q "%USERPROFILE%\openclaw" :: 删除 .local\bin 包装脚本 del /f "%USERPROFILE%\.local\bin\openclaw.cmd" 
✅ CMD 与 PowerShell 安装的卸载核心命令完全相同,区别只在于删除残留文件时 CMD 使用 rmdir /s /q,而 PowerShell 使用 Remove-Item -Recurse -Force

macOS / Linux 安装的卸载方法

安装命令:curl -fsSL https://openclaw.ai/install.sh | bash

安装脚本默认使用 npm install -g openclaw(npm 方式),也可以以 git 源码方式安装(--install-method git)。两种方式的卸载步骤略有不同。

A. 默认 npm 安装方式卸载

步骤 1 — 卸载 npm 全局包

npm uninstall -g openclaw 

步骤 2 — 确认命令已从 PATH 移除

which openclaw # 应该没有任何输出,或提示"not found"

步骤 3 — (可选)删除遗留的 npm 包目录和符号链接

# 找到 npm 全局包根目录npm root -g# 手动删除残留目录(通常 npm uninstall 已自动处理)rm-rf"$(npm root -g)/openclaw"# 删除可能遗留的 Homebrew 软链接(macOS)rm-f /opt/homebrew/bin/openclaw /usr/local/bin/openclaw 

步骤 4 — (彻底清除)删除配置目录

# 主配置目录rm-rf ~/.openclaw # 兼容旧版本遗留目录(如有)rm-rf ~/.clawdbot ~/.moltbot ~/.moldbot 

B. git 源码安装方式卸载(--install-method git

使用 --install-method git 安装时,脚本会将 OpenClaw 克隆到 ~/openclaw,并在 ~/.local/bin/openclaw 创建包装脚本。

步骤 1 — 删除包装脚本

rm-f ~/.local/bin/openclaw 

步骤 2 — 删除源码目录(默认路径为 ~/openclaw

rm-rf ~/openclaw # 如果你使用了自定义路径,替换为你当时指定的目录# 例如:rm -rf ~/my-openclaw-src

步骤 3 — (可选)清理 shell 配置文件中的 PATH 配置

安装脚本可能向 ~/.bashrc~/.zshrc 追加了以下行,可手动打开文件删除:

# 以下两行如存在则删除exportPATH="$HOME/.local/bin:$PATH"exportPATH="$HOME/.npm-global/bin:$PATH"

然后重新加载配置:

source ~/.bashrc # bash 用户source ~/.zshrc # zsh 用户

步骤 4 — 删除配置目录

rm-rf ~/.openclaw 
⚠️ 安装脚本在某些情况下会向 ~/.bashrc / ~/.zshrc 写入 PATH 配置行(如 Linux 上配置 ~/.npm-global)。如需彻底清除,记得检查并手动删除这些行,然后执行 source ~/.bashrc(或 source ~/.zshrc)使改动生效。

npm 全局安装的卸载方法

安装命令:npm i -g openclaw,然后 openclaw onboard

这是最简洁的安装方式,卸载也同样简单,只需一条命令。

步骤 1 — 执行 npm 全局卸载

npm uninstall -g openclaw 

步骤 2 — 验证卸载结果

# macOS / Linuxwhich openclaw # 应无输出npm list -g openclaw --depth=0# 应显示 "(empty)" 或报错
# Windows where openclaw # 应提示"无法找到"

步骤 3 — (彻底清除)删除配置目录

# macOS / Linuxrm-rf ~/.openclaw 
# Windows PowerShellRemove-Item-Recurse -Force "$env:USERPROFILE\.openclaw"
✅ npm 全局安装是五种方式里卸载最干净的:npm uninstall -g openclaw 会自动移除二进制文件、符号链接和包目录,无需手动清理 node_modules

pnpm 全局安装的卸载方法

安装命令:pnpm add -g openclaw,然后 openclaw onboard

pnpm 全局安装将 OpenClaw 写入 pnpm 的全局存储目录(通常是 ~/.local/share/pnpm,或通过 pnpm root -g 查看)。

步骤 1 — 执行 pnpm 全局卸载

pnpm remove -g openclaw # 或者使用 rm 别名pnpmrm-g openclaw 

步骤 2 — 验证卸载结果

# macOS / Linuxwhich openclaw # 应无输出pnpm list -g# openclaw 应不在列表中
# Windows PowerShell pnpm list -g # openclaw 应不在列表中

步骤 3 — (可选)清理 pnpm 全局存储中的残留缓存

# 查看 pnpm 全局包根目录pnpm root -g# 手动清理(通常 pnpm remove 已处理)rm-rf"$(pnpm root -g)/openclaw"# 清理 pnpm 全局 bin(如有残留链接)rm-f"$(dirname$(pnpm root -g))/bin/openclaw"

步骤 4 — (彻底清除)删除配置目录

# macOS / Linuxrm-rf ~/.openclaw 
# Windows PowerShellRemove-Item-Recurse -Force "$env:USERPROFILE\.openclaw"
💡 pnpm 的全局 bin 目录通常是 ~/.local/share/pnpm(Linux)或 ~/Library/pnpm(macOS)。如果 pnpm remove -gopenclaw 命令仍然存在,可以手动检查并删除该目录下的 openclaw 链接文件。

卸载方式汇总对照表

安装方式核心卸载命令配置目录(可选删除)
🪟 Windows PowerShellnpm uninstall -g openclaw%USERPROFILE%\.openclaw
⌨️ Windows CMDnpm uninstall -g openclaw%USERPROFILE%\.openclaw
🍎 macOS / Linux(npm 方式)npm uninstall -g openclaw~/.openclaw
🐙 macOS / Linux(git 方式)rm -f ~/.local/bin/openclaw + rm -rf ~/openclaw~/.openclaw
📦 npm 全局安装npm uninstall -g openclaw~/.openclaw
⚡ pnpm 全局安装pnpm remove -g openclaw~/.openclaw

Read more

C++“STL之String”

C++“STL之String”

🌹个人主页🌹:喜欢草莓熊的bear                                                 🌹专栏🌹:C++入门 目录 编辑 前言 一、STL简介 1.1 STL是什么? 1.2 STL的版本(这个不是很重要了解即可) 1.3 STL的六大组件 二、 String类 2.1为什么要学习String类? 2.1.1 C语言中的字符串 2.2 标准库的String类 2.2.1 String类的了解 2.2.2 auto和范围for的了解和使用 2.2.3 String类常用接口介绍和使用 1.string类对象的常见构造 2.string类对象的容量操作 3.string类对象的访问呢及遍历 4.

By Ne0inhk
【2024 Year-End Summary】C++自学分享

【2024 Year-End Summary】C++自学分享

目录 [ C 语言 ] [ 数据结构 ] [ 算法 ] [ C++ ] [Linux] [Mysql] [Redis 文档学习] [Docker 云原生] [Git] [Qt] 转眼大学就过了一年半,希望自己可以保持学习₍₍Ϡ(੭•̀ω•́)੭✧⃛ 在刚上大一的时候用的是纸质笔记本,后来东西越学越多,就开始使用语雀文档,文章也有部分同步到 ZEEKLOG 上了,很高兴能够对大家有所帮助~ 博客之星的文章一直不知道写些什么,想着对专栏做一个整理叭 下面的标题/网课名 就是 学习链接的传送门,自学的资料也都是免费的,开头就不多说了,学就好啦 [ C 语言 ] hh 这是多少小伙伴梦开始的地方 网课: * 【浙江大学】C语言入门与进阶 翁恺(全129讲)_哔哩哔哩_bilibili 书籍: * C Primer Plus * C

By Ne0inhk
《回溯 C++98:string 核心机制拆解 —— 从拷贝策略到高效 swap》

《回溯 C++98:string 核心机制拆解 —— 从拷贝策略到高效 swap》

🔥草莓熊Lotso:个人主页 ❄️个人专栏:《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受。 🎬博主简介: 目录 前言: 一. 字符串的拷贝机制:从浅拷贝到写时拷贝 1.1 浅拷贝:隐藏的 “双重释放” 陷阱 1.2 深拷贝:独立内存的安全保障 1.2.1 传统版写法的string类 1.2.2 现代版写法的string类 1.3 写时拷贝(了解就可以):读写分离的优化策略 二、C++98/03 中的三种 swap 实现 2.1 成员函数 swap:

By Ne0inhk
Effective Modern C++ 条款37:使std::thread在所有路径最后都不可结合

Effective Modern C++ 条款37:使std::thread在所有路径最后都不可结合

Effective Modern C++ 条款37:使std::thread在所有路径最后都不可结合 * 引言:线程生命周期的关键问题 * 线程的两种状态:可结合与不可结合 * 可结合(Joinable)状态的特征 * 不可结合(Unjoinable)状态的四种情况 * 为什么可结合性如此重要? * 两种被拒绝的替代方案 * RAII拯救方案:ThreadRAII类 * ThreadRAII实现详解 * 关键设计决策 * 实际应用案例 * 高级讨论:何时选择join或detach * 性能考量与最佳实践 * 结论:让线程管理无忧 BiliBili上对应的视频为:https://www.bilibili.com/video/BV1iZZgBiE9j 引言:线程生命周期的关键问题 在多线程程序设计中,std::thread的管理是一个看似简单实则暗藏玄机的话题。想象一下,你精心设计的并发程序在大多数情况下运行良好,却在某些边缘情况下突然崩溃——这正是许多开发者在使用原生线程时遇到的噩梦场景。本文将深入探讨std::thread对象

By Ne0inhk