OpenClaw(八)| 完全卸载指南
- [一、什么是 OpenClaw 完全卸载?](#一、什么是 OpenClaw 完全卸载?)
- 二、为什么需要完全卸载?
- 三、适用平台
- 四、卸载步骤
-
- [4.1 步骤 1:终止 OpenClaw 进程](#4.1 步骤 1:终止 OpenClaw 进程)
- [4.2 步骤 2:使用内置卸载命令(如果 CLI 可用)](#4.2 步骤 2:使用内置卸载命令(如果 CLI 可用))
- [4.3 步骤 3:停止并移除服务](#4.3 步骤 3:停止并移除服务)
- [4.4 步骤 4:删除所有数据目录](#4.4 步骤 4:删除所有数据目录)
- [4.5 步骤 5:删除应用程序(仅 macOS)](#4.5 步骤 5:删除应用程序(仅 macOS))
- [4.6 步骤 6:卸载 CLI 全局包](#4.6 步骤 6:卸载 CLI 全局包)
- [4.7 步骤 7:删除源码目录(如果从源码安装)](#4.7 步骤 7:删除源码目录(如果从源码安装))
- [4.8 步骤 8:清理环境变量(可选)](#4.8 步骤 8:清理环境变量(可选))
- [4.9 步骤 9:验证卸载完成](#4.9 步骤 9:验证卸载完成)
- 五、注意事项
- 六、常见问题
-
- [6.1 卸载命令执行失败](#6.1 卸载命令执行失败)
- [6.2 服务无法停止](#6.2 服务无法停止)
- [6.3 目录删除失败](#6.3 目录删除失败)
- [6.4 CLI 仍然存在](#6.4 CLI 仍然存在)
- 七、总结
一、什么是 OpenClaw 完全卸载?
OpenClaw 完全卸载是指彻底清除 OpenClaw 及其所有相关组件,包括:
- 核心应用程序
- 配置文件和数据
- 服务和启动项
- 全局 CLI 工具
- 遗留文件和目录
二、为什么需要完全卸载?
- 问题排查:当 OpenClaw 出现严重问题时,完全卸载后重新安装可以解决大多数问题
- 版本升级:从旧版本升级到新版本时,完全卸载可以避免版本冲突
- 系统清理:不再使用 OpenClaw 时,彻底清理其所有组件,释放系统资源
- 环境重置:需要重新配置 OpenClaw 时,完全卸载可以提供一个干净的起点
三、适用平台
- ✅ Windows
- ✅ macOS
- ✅ Linux
四、卸载步骤
4.1 步骤 1:终止 OpenClaw 进程
Windows(PowerShell):
powershell
# 终止 OpenClaw 进程
Stop-Process -Name "OpenClaw" -Force -ErrorAction SilentlyContinue
Stop-Process -Name "Clawdbot" -Force -ErrorAction SilentlyContinue
Windows(CMD):
cmd
:: 终止 OpenClaw 进程
taskkill /F /IM "OpenClaw.exe" 2>NUL
taskkill /F /IM "Clawdbot.exe" 2>NUL
macOS(终端):
bash
# 终止进程
pkill -x "OpenClaw" 2>/dev/null || true
pkill -x "Clawdbot" 2>/dev/null || true
Linux(终端):
bash
# 终止进程
pkill -x "OpenClaw" 2>/dev/null || true
pkill -x "Clawdbot" 2>/dev/null || true
4.2 步骤 2:使用内置卸载命令(如果 CLI 可用)
Windows(PowerShell):
powershell
openclaw uninstall --all --yes --non-interactive
Windows(CMD):
cmd
openclaw uninstall --all --yes --non-interactive
macOS/Linux(终端):
bash
openclaw uninstall --all --yes --non-interactive
注意:如果 CLI 已不可用,跳过此步骤,直接执行后续手动步骤。
4.3 步骤 3:停止并移除服务
Windows(PowerShell):
powershell
# 删除计划任务
schtasks /Delete /F /TN "OpenClaw Gateway"
# 删除启动脚本
Remove-Item -Force "$env:USERPROFILE\.openclaw\gateway.cmd" -ErrorAction SilentlyContinue
Windows(CMD):
cmd
:: 删除计划任务
schtasks /Delete /F /TN "OpenClaw Gateway"
:: 删除启动脚本
del /F "%USERPROFILE%\.openclaw\gateway.cmd" 2>NUL
macOS(终端):
bash
# 停止并移除服务
launchctl bootout gui/$UID/ai.openclaw.gateway 2>/dev/null || true
rm -f ~/Library/LaunchAgents/ai.openclaw.gateway.plist
# 清理旧品牌名服务
launchctl bootout gui/$UID/com.openclaw.gateway 2>/dev/null || true
rm -f ~/Library/LaunchAgents/com.openclaw.gateway.plist
Linux(终端):
bash
# 停止并禁用服务
systemctl --user disable --now openclaw-gateway.service 2>/dev/null || true
rm -f ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload
4.4 步骤 4:删除所有数据目录
Windows(PowerShell):
powershell
# 删除主目录
Remove-Item -Recurse -Force "$env:USERPROFILE\.openclaw"
# 删除遗留目录
Remove-Item -Recurse -Force "$env:USERPROFILE\.clawdbot" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:USERPROFILE\.moldbot" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:USERPROFILE\.moltbot" -ErrorAction SilentlyContinue
# 删除临时目录
Remove-Item -Recurse -Force "$env:TEMP\openclaw" -ErrorAction SilentlyContinue
Windows(CMD):
cmd
:: 删除主目录
rmdir /S /Q "%USERPROFILE%\.openclaw"
:: 删除遗留目录
rmdir /S /Q "%USERPROFILE%\.clawdbot" 2>NUL
rmdir /S /Q "%USERPROFILE%\.moldbot" 2>NUL
rmdir /S /Q "%USERPROFILE%\.moltbot" 2>NUL
:: 删除临时目录
rmdir /S /Q "%TEMP%\openclaw" 2>NUL
macOS/Linux(终端):
bash
# 删除主目录
rm -rf ~/.openclaw
# 删除遗留目录
rm -rf ~/.clawdbot ~/.moldbot ~/.moltbot
# 删除临时目录
rm -rf "${TMPDIR:-/tmp}/openclaw-$(id -u)" "${TMPDIR:-/tmp}/openclaw"
4.5 步骤 5:删除应用程序(仅 macOS)
macOS(终端):
bash
# 删除应用
rm -rf /Applications/OpenClaw.app
# 清理旧品牌名
rm -rf /Applications/Clawdbot.app
4.6 步骤 6:卸载 CLI 全局包
Windows(PowerShell):
powershell
# 卸载 npm 包
npm rm -g openclaw 2>$null || true
# 卸载 pnpm 包
pnpm remove -g openclaw 2>$null || true
# 卸载 bun 包
bun remove -g openclaw 2>$null || true
Windows(CMD):
cmd
:: 卸载 npm 包
npm rm -g openclaw 2>NUL || echo.
:: 卸载 pnpm 包
pnpm remove -g openclaw 2>NUL || echo.
:: 卸载 bun 包
bun remove -g openclaw 2>NUL || echo.
macOS/Linux(终端):
bash
# 卸载 npm 包
npm rm -g openclaw 2>/dev/null || true
# 卸载 pnpm 包
pnpm remove -g openclaw 2>/dev/null || true
# 卸载 bun 包
bun remove -g openclaw 2>/dev/null || true
4.7 步骤 7:删除源码目录(如果从源码安装)
手动删除本地 git clone 的 OpenClaw 仓库目录(请确认路径后执行)。
4.8 步骤 8:清理环境变量(可选)
Windows(PowerShell):
powershell
# 检查并清理环境变量
$envVars = @("OPENCLAW_HOME", "OPENCLAW_CONFIG", "CLAWSKILLS_HOME")
foreach ($var in $envVars) {
if (Test-Path "env:$var") {
[Environment]::SetEnvironmentVariable($var, $null, "User")
Write-Host "已清除环境变量: $var"
}
}
# 刷新环境变量
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", "User") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "Machine")
Windows(CMD):
cmd
:: 清理环境变量
setx OPENCLAW_HOME ""
setx OPENCLAW_CONFIG ""
setx CLAWSKILLS_HOME ""
:: 刷新环境变量
set "PATH=%PATH%"
echo 环境变量已清理
macOS/Linux(终端):
bash
# 检查并清理环境变量
envVars=("OPENCLAW_HOME" "OPENCLAW_CONFIG" "CLAWSKILLS_HOME")
for var in "${envVars[@]}"; do
if grep -q "$var" ~/.bashrc ~/.zshrc ~/.profile 2>/dev/null; then
sed -i "/$var/d" ~/.bashrc ~/.zshrc ~/.profile 2>/dev/null
echo "已从配置文件中清除环境变量: $var"
fi
unset "$var"
done
# 刷新环境变量
source ~/.bashrc 2>/dev/null || source ~/.zshrc 2>/dev/null || source ~/.profile 2>/dev/null
4.9 步骤 9:验证卸载完成
Windows(PowerShell):
powershell
# 检查 CLI 是否存在
if (Get-Command openclaw -ErrorAction SilentlyContinue) {
Write-Host "警告: openclaw CLI 仍存在"
} else {
Write-Host "CLI 已清除"
}
# 检查状态目录是否存在
if (Test-Path "$env:USERPROFILE\.openclaw") {
Write-Host "警告: 状态目录仍存在"
} else {
Write-Host "状态目录已清除"
}
# 检查遗留目录是否存在
if (Test-Path "$env:USERPROFILE\.clawdbot") {
Write-Host "警告: 遗留目录仍存在"
} else {
Write-Host "遗留目录已清除"
}
# 检查应用程序是否存在
if (Test-Path "$env:ProgramFiles\OpenClaw") {
Write-Host "警告: 程序文件目录仍存在"
} else {
Write-Host "程序文件目录已清除"
}
Windows(CMD):
cmd
:: 检查 CLI 是否存在
where openclaw >nul 2>nul && echo 警告: openclaw CLI 仍存在 || echo CLI 已清除
:: 检查状态目录是否存在
if exist "%USERPROFILE%\.openclaw" (echo 警告: 状态目录仍存在) else (echo 状态目录已清除)
:: 检查遗留目录是否存在
if exist "%USERPROFILE%\.clawdbot" (echo 警告: 遗留目录仍存在) else (echo 遗留目录已清除)
:: 检查应用程序是否存在
if exist "%ProgramFiles%\OpenClaw" (echo 警告: 程序文件目录仍存在) else (echo 程序文件目录已清除)
macOS(终端):
bash
# 检查 CLI 是否存在
which openclaw 2>/dev/null && echo "警告: openclaw CLI 仍存在" || echo "CLI 已清除"
# 检查状态目录是否存在
ls ~/.openclaw 2>/dev/null && echo "警告: 状态目录仍存在" || echo "状态目录已清除"
# 检查遗留目录是否存在
ls ~/.clawdbot 2>/dev/null && echo "警告: 遗留目录仍存在" || echo "遗留目录已清除"
# 检查应用程序是否存在
ls /Applications/OpenClaw.app 2>/dev/null && echo "警告: 应用程序仍存在" || echo "应用程序已清除"
Linux(终端):
bash
# 检查 CLI 是否存在
which openclaw 2>/dev/null && echo "警告: openclaw CLI 仍存在" || echo "CLI 已清除"
# 检查状态目录是否存在
ls ~/.openclaw 2>/dev/null && echo "警告: 状态目录仍存在" || echo "状态目录已清除"
# 检查遗留目录是否存在
ls ~/.clawdbot 2>/dev/null && echo "警告: 遗留目录仍存在" || echo "遗留目录已清除"
# 检查系统安装目录
ls /opt/openclaw 2>/dev/null && echo "警告: 系统安装目录仍存在" || echo "系统安装目录已清除"
五、注意事项
- 权限问题:某些操作可能需要管理员/root 权限
- 路径差异:不同系统或安装方式可能导致路径略有不同
- 备份重要数据:在卸载前,如果有重要的配置或数据,请先备份
- 多用户环境:如果系统有多个用户,可能需要为每个用户执行卸载步骤
- 网络连接:某些卸载步骤可能需要网络连接
- 防病毒软件:防病毒软件可能会干扰卸载过程,建议暂时禁用
六、常见问题
6.1 卸载命令执行失败
- 原因:CLI 工具已损坏或不可用
- 解决方法:跳过内置卸载命令,直接执行手动步骤
6.2 服务无法停止
- 原因:服务可能已经停止或不存在
- 解决方法:继续执行后续步骤,忽略错误信息
6.3 目录删除失败
- 原因:权限不足或文件被占用
- 解决方法:以管理员/root 身份运行命令,或重启系统后再尝试
6.4 CLI 仍然存在
- 原因:可能通过其他包管理器安装
- 解决方法:尝试使用其他包管理器卸载,或手动删除可执行文件
七、总结
通过本指南,你可以:
- 完全卸载 OpenClaw:清除所有相关组件和文件
- 跨平台操作:适用于 Windows、macOS 和 Linux
- 验证卸载效果:确保所有组件都已清除
- 解决常见问题:了解并处理卸载过程中可能遇到的问题
推荐流程:
- 尝试使用内置卸载命令
- 停止并移除服务
- 删除所有数据目录
- 卸载 CLI 全局包
- 删除源码目录(如果适用)
- 验证卸载完成
按照上述步骤操作,你可以彻底清除 OpenClaw 及其所有相关组件,为重新安装或系统清理做好准备。