🦞 龙虾AI · OpenClaw 智能体生态导航 龙虾AI(OpenClaw)中文资料与下载导航
🔄

教程 · 维护

OpenClaw 升级、回滚与彻底卸载

龙虾更新挺勤,新版本常带新功能和修复,但“升级”这两个字总让人犯怵——怕升坏、怕丢数据。其实只要顺序对、升级前留个底,翻车也能两分钟退回去。这篇按升级步骤、锁版本、回滚、备份、彻底卸载的顺序讲,每步带命令。

升级前:先备份,30 秒的保险

正常升级不会动你的配置和数据,但万一总有。升级前先把两样东西复制一份留底:

# 进项目目录,把配置和数据各备一份
cp .env .env.bak
cp -r data data.bak   # 数据目录名以你实际的为准

顺手记下当前版本号,回滚时要用:

git log -1 --oneline   # 记下当前这条提交,万一要退回

升级:标准三步

git 装的龙虾,升级就是“拉新代码 + 更新依赖”。先把它停了再升,别一边跑一边换:

# 1. 停掉正在跑的龙虾(systemd 服务的话)
systemctl stop openclaw   # 或者 Ctrl+C 掉前台进程

# 2. 拉最新代码
git pull

# 3. 进虚拟环境,更新依赖
source .venv/bin/activate
pip install -r requirements.txt --upgrade
# 有前端/Node 工具的话
npm install

升完重新启动,跑一条最小任务验证它还正常:

python main.py
# 给它一句:建个 hello.txt 写一行再读回来

这一圈能跑通,升级就算成了。

锁版本:别被自动更新坑到

智能体迭代快,有时新版本会改配置格式、换依赖,盲目追最新容易踩坑。生产环境建议锁在一个验证过能跑的版本,别老追 latest:

  • git 方式:升级时切到具体的版本标签(tag),而不是直接 git pull 主分支。这样你清楚自己在哪个版本。
  • Docker 方式:镜像别用 :latest,用带版本号的标签,比如 :1.x.x。要升才手动改标签,心里有数。

稳定运行的机器,“能跑就别乱动”比“永远最新”更省心。

回滚:升坏了两分钟退回去

升级后跑不起来,别慌,退回上一个能跑的版本就行。这就是为什么前面让你记版本号、留备份。

git 装的

# 切回升级前那条提交(或上一个 tag)
git checkout <升级前的提交号或tag>
# 依赖也按这个版本重装一遍
pip install -r requirements.txt
# 配置坏了就把备份还原
cp .env.bak .env

Docker 装的

# 把镜像标签指回旧版本,重建容器
docker compose down
# 改 compose 里的 image 标签为旧版本号,然后
docker compose up -d

只要数据是挂载出来的、镜像用的是带版本号的标签,回滚几乎零风险。

🦞 避坑提示 升级最常见的翻车,是 git pull 拉了新代码却忘了装新依赖,直接启动就报 ModuleNotFoundError 起不来。所以稳妥的习惯是:升级前先 git log -1 记下当前提交号,万一新版有问题,git checkout 回这个提交、重装依赖就能退回去,整个回滚通常一两分钟的事。只要 .env 和数据目录没被 git 跟踪(一般也不该被跟踪),回滚过程它们原封不动,不会丢配置和数据——这就是“记版本号 + 留备份”给你的底气。

彻底卸载:清单式清干净

龙虾基本是“绿色软件”,大头都在项目目录里。要卸干净,按这份清单走:

  1. 停服务:做过开机自启的,先停掉再删服务文件。
    systemctl disable --now openclaw
    sudo rm /etc/systemd/system/openclaw.service
    sudo systemctl daemon-reload
  2. 删项目目录:这一步清掉大头(代码 + 虚拟环境一起没)。
    rm -rf ~/openclaw
  3. 删本地模型文件:本地模型单独占地,不用了一并删(路径看你当初拉到哪)。
  4. 撤权限授权:之前给龙虾的文件/系统访问授权,到系统设置里撤掉。
  5. Docker 用户:换成删容器、删镜像、删挂载卷。
    docker compose down
    docker rmi <openclaw-image>
    docker volume prune   # 谨慎,会删未使用的卷

走完这几步,龙虾就清干净了,不留垃圾。Python、Node、Git 这些通用环境可以留着,它们不是龙虾专属的。

常见问题

升级 OpenClaw 会把我的配置和数据弄丢吗?
正常升级不会,.env 和数据目录通常不在被更新的代码里。但升级前把它俩各复制一份留底,几秒钟能省掉翻车的麻烦。Docker 用户只要数据是挂载出来的,拉新镜像重建也不丢。
升级后龙虾跑不起来了,怎么退回旧版本?
git 装的用 git 切回上一个能跑的提交或 tag,再按那个版本重装依赖,所以升级前记版本号很重要。Docker 用户把镜像标签指回旧版本重建容器即可——前提是别只用 latest,用带版本号的标签。
怎么把 OpenClaw 卸得一点不剩?
删项目目录(含虚拟环境)清掉大头,再停掉删掉自启服务、删本地模型文件、撤掉权限授权。Docker 用户则删容器、删镜像、删挂载卷。