Ubuntu 上将 ComfyUI 从 0.32.0 升级到 0.36.0:一份可回退的实操记录
先备份、再锁标签、后更依赖:一次不追 master 的 ComfyUI 稳定版升级实录

Ubuntu 上将 ComfyUI 从 0.32.0 升级到 0.36.0:一份可回退的实操记录
本文记录一次真实升级:Ubuntu 26.04、NVIDIA RTX 4070 12GB、Python 3.13、ComfyUI 源码安装、独立 venv、ComfyUI Manager、ComfyUI-GGUF、comfy-kitchen、comfy-aimdo,以及
/data/models外置模型目录。目标不是「把代码拉到最新」这么简单,而是:先停服务、创建可验证的升级前备份、锁定正式稳定版本、更新依赖、启动并验证原有工作流。
一、升级前环境
本次升级前的关键环境:
系统:Ubuntu
GPU:NVIDIA GeForce RTX 4070 12GB
显存:11872 MB
ComfyUI:0.32.0
Python:3.13.x
ComfyUI 路径:/data/comfyui
ComfyUI venv:/data/comfyui/venv
模型目录:/data/models
ComfyUI API:http://127.0.0.1:8188已经能工作的能力:
- Z-Image-Turbo 文生图。
- Qwen-Image-Edit-2511 / Rapid 图像编辑。
- SeedVR2 7B INT8 ConvRot 图像放大。
- ComfyUI Manager。
- Hermes / OpenClaw 通过本机 API 调用 ComfyUI。
本次目标:将 ComfyUI 从原来的 0.32.0 升级到正式稳定版 v0.36.0,而不是盲目追踪 GitHub 的 master 开发分支。
二、为什么不直接 git pull
首先查看远程更新:
cd /data/comfyui
git status --short
git fetch --tags origin
git status -sb
git log --oneline HEAD..origin/master当时得到的关键信息是:
master...origin/master [落后 146]
?? .pydeps/
?? comfyui.db远程 origin/master 已经包含大量新提交,并且远程存在正式标签:
v0.36.0因此没有执行:
git pull原因是裸 git pull 会把当前分支直接追到 origin/master,可能进入尚未打正式标签的开发提交。对于已经接入多个模型和 Agent 的生产环境,更稳妥的做法是切换到明确的正式版本标签(实际执行见第八节):
git switch -c comfyui-v0.36.0 v0.36.0这条命令的作用是:
- 基于官方
v0.36.0标签创建本地分支。 - 切换当前源码到稳定版本。
- 不删除
/data/models。 - 不删除 venv。
- 不修改 custom nodes、user、input、output。
- 不会把开发分支的未发布提交带进来。
三、第一次备份为什么失败
最初曾执行:
cd /data
cp -r comfyui comfyui_2026-08-13_backup随后出现大量:
权限不够错误路径集中在:
/data/comfyui_2026-08-13_backup/comfyui/.git/objects/原因不是当前 /data/comfyui 损坏,而是目标目录 /data/comfyui_2026-08-13_backup 已经存在。再次执行同名 cp -r 时,cp 继续向旧备份内部复制,尝试覆盖其中 Git 对象,因目标文件状态或权限不适合覆盖而失败。
后来检查目录权限:
ls -ld /data/comfyui_2026-08-13_backup
ls -ld /data/comfyui_2026-08-13_backup/comfyui
ls -ld /data/comfyui_2026-08-13_backup/comfyui/.git结果显示顶层目录都属于:
oklife oklife但问题依然是:旧目录已经存在,不应再作为新的备份目标使用。
经验
不要重复使用固定备份目录名。每次升级都使用带日期和时间的新目录。
四、停止 ComfyUI
升级前先停止正在运行的 ComfyUI。
如果它在当前终端前台运行,按:
Ctrl+C然后检查 8188 端口:
ss -lntp | grep 8188本次没有任何输出,说明 ComfyUI 已完全停止,可以安全备份。
五、创建本次升级前完整备份
使用新的、不会冲突的时间戳目录:
cd /data
STAMP=$(date +%F_%H%M%S)
BACKUP="/data/comfyui_${STAMP}_pre_upgrade"
mkdir -p "$BACKUP"
cp -a /data/comfyui "$BACKUP/"本次生成的实际目录是:
/data/comfyui_2026-09-18_074710_pre_upgrade/comfyui这里使用 cp -a,而不是简单的 cp -r,是为了保留权限、时间戳、符号链接和目录结构。
验证备份内容
echo "备份目录:$BACKUP"
test -f "$BACKUP/comfyui/main.py" && echo "main.py:OK"
test -f "$BACKUP/comfyui/extra_model_paths.yaml" && echo "模型路径配置:OK"
test -d "$BACKUP/comfyui/custom_nodes" && echo "custom_nodes:OK"
test -d "$BACKUP/comfyui/user" && echo "user 配置目录:OK"实际结果:
main.py:OK
模型路径配置:OK
custom_nodes:OK
user 配置目录:OK验证源码提交一致
echo "当前 ComfyUI Git commit:"
git -C /data/comfyui rev-parse --short HEAD
echo "备份 ComfyUI Git commit:"
git -C "$BACKUP/comfyui" rev-parse --short HEAD两边都得到:
12d5279这表示备份与当前源码处于同一个升级前状态。
六、检查 Git 状态
执行与第二节相同的 Git 状态检查命令,本次发现两个未跟踪项目:
?? .pydeps/
?? comfyui.db处理原则:
- 不执行
git add。 - 不执行
git clean -fd。 - 不删除
.pydeps/。 - 不删除
comfyui.db。
这两项本地未跟踪文件不阻碍切换到 v0.36.0,而且已经包含在完整备份中。
七、确认稳定标签
先检查标签是否存在:
git status --short
git tag --points-at v0.36.0
git show-ref --verify refs/tags/v0.36.0实际确认结果:
v0.36.0
ee71d5c4993f29086b27fde1629a945ae48425bf refs/tags/v0.36.0说明本地已经拥有有效的 v0.36.0 标签,可以切换。
八、切换到 ComfyUI 0.36.0
执行:
git switch -c comfyui-v0.36.0 v0.36.0成功提示:
切换到一个新分支 'comfyui-v0.36.0'然后验证:
git status -sb
git describe --tags --always结果:
?? .pydeps/
?? comfyui.db
v0.36.0这说明当前源码已切换到稳定版 v0.36.0。
九、更新 ComfyUI 依赖
保持使用 ComfyUI 自己的 Python venv:
/data/comfyui/venv/bin/python -m pip install -r requirements.txt本次更新的主要组件包括:
comfyui-frontend-package:1.49.6 → 1.52.7
comfyui-workflow-templates:0.11.48 → 0.11.62
comfyui-embedded-docs:0.5.10 → 0.5.11
comfy-kitchen:0.2.31 → 0.2.34
comfy-aimdo:0.4.15 → 0.5.3同时更新了工作流模板核心、JSON 模板和资源包。
重要的是:
PyTorch:2.13.0+cu130,保持不变
TorchVision:0.28.0+cu130,保持不变
TorchAudio:2.11.0+cu130,保持不变
CUDA 13 运行时:保持不变没有主动重装 Torch、CUDA 或 Python,这降低了升级风险。
十、更新 Manager 依赖
继续执行:
/data/comfyui/venv/bin/python -m pip install -r manager_requirements.txt结果显示:
comfyui_manager==4.2.2 已满足Manager 没有被不必要地改动。
十一、启动新版 ComfyUI
执行:
cd /data/comfyui
/data/comfyui/venv/bin/python main.py \
--listen 127.0.0.1 \
--port 8188 \
--enable-manager启动日志中的关键结果
Python version: 3.13.15
Python executable: /data/comfyui/venv/bin/python
ComfyUI Path: /data/comfyui
Total VRAM 11872 MB
Device: cuda:0 NVIDIA GeForce RTX 4070 : cudaMallocAsync
Using async weight offloading with 2 streams
DynamicVRAM support detected and enabled
ComfyUI version: 0.36.0
comfy-aimdo version: 0.5.3
comfy-kitchen version: 0.2.34
comfyui-frontend-package version: 1.52.7
comfyui-workflow-templates version: 0.11.62
comfyui-embedded-docs version: 0.5.11
[START] ComfyUI-Manager
Starting server最后显示:
To see the GUI go to: http://127.0.0.1:8188十二、模型路径和 GPU 验证
启动日志显示模型路径仍然来自:
/data/models/checkpoints
/data/models/loras
/data/models/vae
/data/models/text_encoders
/data/models/diffusion_models
/data/models/controlnet
/data/models/upscale_models说明 /data/models 外置模型结构没有丢失。
GPU 方面确认:
NVIDIA GeForce RTX 4070
VRAM: 11872 MB
DynamicVRAM: enabled
async weight offloading: enabled这与原来的 12GB RTX 4070 部署策略一致。
十三、升级过程中出现的警告
1. Matrix 分享依赖缺失
The matrix sharing feature has been disabled because the matrix-nio dependency is not installed.这只影响 Manager 的 Matrix 分享功能。当前没有使用 Matrix,因此不需要安装:
matrix-nio2. OpenGL accelerate 提示
No OpenGL_accelerate module loaded: Acceleration disabled这不是 CUDA 或图像生成错误。此前已经安装过 PyOpenGL-accelerate,并且 ComfyUI 的 CUDA、Kitchen、AIMDO 和 DynamicVRAM 都正常工作。该警告属于可选的 PyOpenGL 加速提示,不影响当前图像工作流。
3. SenseNova 自定义节点警告
启动时出现类似:
image_gen_indicators is part of Qwen3Model.forward's signature, but not documented
indexes is part of Qwen3Model.forward's signature, but not documented
FutureWarning: torch.cuda.amp.autocast(...) is deprecated这些警告来自:
/data/custom_nodes/sensenova_u1_rebelSenseNova 节点仍然成功加载,警告不影响 ComfyUI 启动。它们属于自定义节点源码的文档提示和旧 API 警告,不是本次升级失败。
4. 数据库迁移提示
启动时出现:
Database upgraded from 0006_add_loader_path to 0007_record_content_splitComfyUI 自动完成了数据库迁移,并保留旧数据库:
/data/comfyui/user/comfyui.db.bkp随后提示资产目录被重新建立,部分旧资产元数据可能丢失,包括:
- 手工标签。
- 用户元数据。
- 预览图记录。
- 重命名记录。
- API 创建的资产记录。
- job_id 关联。
这不等于模型、工作流或输出图被删除。旧数据库已经备份为 .bkp,不要立即删除。
十四、升级后验收顺序
升级后不要马上点 Manager 的 Update All,也不要立即测试复杂新工作流。
按照风险从低到高依次验证:
1. Web 界面
浏览器打开:
http://127.0.0.1:8188确认界面可访问,Manager 入口仍存在。
2. Z-Image-Turbo
使用原来已经成功过的 workflow,先跑一张单图。
3. Qwen Image Edit
加载一张已有图片,执行一次简单编辑,例如:
保持主体和构图不变,将背景改为夜雨中的窗边书桌,低饱和、暖黄色灯光。4. SeedVR2 7B INT8 ConvRot
对一张已有图片执行 2 倍放大,确认输出尺寸、主体和构图均正常。
5. Hermes / OpenClaw API
在三条工作流手动通过后,再让 Hermes 或 OpenClaw 通过:
http://127.0.0.1:8188执行一次 smoke test。
十五、回退方法
如果升级后的 v0.36.0 破坏了某个已有工作流,先停止 ComfyUI:
Ctrl+C然后可以切回升级前的源码分支或恢复备份。
优先尝试切回升级前 commit:
cd /data/comfyui
git switch -c comfyui-pre-2026-09-18 12d5279如果需要恢复完整目录,则先把当前目录改名,再从升级前备份复制回来;不要直接覆盖正在使用的目录:
cd /data
mv comfyui comfyui_failed_0.36.0
cp -a comfyui_2026-09-18_074710_pre_upgrade/comfyui ./comfyui恢复后仍需确认:
/data/comfyui/venv/bin/python main.py --listen 127.0.0.1 --port 8188 --enable-manager不要删除升级失败目录,先保留用于排查。
十六、以后升级的固定 SOP
今后每次升级建议固定使用以下步骤:
# 1. 停止 ComfyUI
# Ctrl+C
# 2. 确认端口释放
ss -lntp | grep 8188
# 3. 创建全新时间戳备份
cd /data
STAMP=$(date +%F_%H%M%S)
BACKUP="/data/comfyui_${STAMP}_pre_upgrade"
mkdir -p "$BACKUP"
cp -a /data/comfyui "$BACKUP/"
# 4. 获取远程标签
git -C /data/comfyui fetch --tags origin
# 5. 查看正式标签
git -C /data/comfyui tag --sort=-version:refname | head -10
# 6. 切换到明确的正式稳定版本
cd /data/comfyui
git switch -c comfyui-vX.Y.Z vX.Y.Z
# 7. 更新核心依赖
/data/comfyui/venv/bin/python -m pip install -r requirements.txt
# 8. 更新 Manager 依赖
/data/comfyui/venv/bin/python -m pip install -r manager_requirements.txt
# 9. 启动
/data/comfyui/venv/bin/python main.py \
--listen 127.0.0.1 \
--port 8188 \
--enable-manager
# 10. 验证既有工作流和 Agent API十七、最终结果
本次升级最终完成了: /data/Obsidian-oklife-ub/AI/OpenClaw/07-升级备份/openclaw-upgrade-2026-9-4-postmortem.md
ComfyUI 0.32.0 → 0.36.0
comfy-kitchen 0.2.31 → 0.2.34
comfy-aimdo 0.4.15 → 0.5.3
前端包 1.49.6 → 1.52.7
工作流模板 0.11.48 → 0.11.62并且保持了:
RTX 4070 12GB
Python 3.13
PyTorch 2.13.0+cu130
CUDA 13
/data/models
ComfyUI Manager
Z-Image-Turbo
Qwen Image Edit
SeedVR2 7B INT8 ConvRot
Hermes/OpenClaw 本机 API 调用最重要的经验不是某一条 Git 命令,而是这条原则:
先创建可验证的时间戳备份,再切换明确的稳定标签;不要在生产环境里盲目追踪 master,也不要用固定目录名重复覆盖旧备份。
梦行志