ComfyUI 节点越装越乱?ComfyUI-Manager 批量卸载完整教程,3 步搞定
【免费下载链接】ComfyUI-ManagerComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI.项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager
ComfyUI 节点越攒越多,删一个都像拆弹?从 v3.40+ 开始,ComfyUI-Manager 批量卸载让你勾选一批节点、跑一条 uninstall 命令,就能一次清掉,还能分清哪些能删干净、哪些该留着。看完这篇,你十分钟就能把臃肿的节点目录收拾利索。
ComfyUI 自定义节点越装越乱怎么办?你可能见过这 3 种麻烦
先说个场景:你装到第 30 个节点,启动从 20 秒变成要等 60 秒;日志里飘着几行红色的 IMPORT FAILED;想删掉那几个一时兴起的节点,又拿不准它们的库是不是还有别的节点在用。
节点装多之后,麻烦基本逃不出这三种:
- 依赖残留:节点删了,它带进来的 pip 包还留在环境里,一直占着没人用的磁盘空间。
- 版本冲突:两个节点把同一个库钉在不同版本上,动谁谁崩——这就是「ComfyUI 节点冲突怎么解决」的根源。
- 启动变慢还连坐:每次启动都要导入全部节点,一个坏了整批标 IMPORT FAILED,连正常的使用户被拖累。
这时候手动去删文件夹是危险动作:删到一个共享依赖,连锁故障就来了。这正是 ComfyUI 自定义节点清理该交给工具的理由。
ComfyUI-Manager 批量卸载节点操作步骤:GUI 和 CLI 各 5 步
GUI 入口:勾选了删
- 启动 ComfyUI,点顶栏的Manager按钮打开 Manager 窗口。
- 选Custom Nodes标签页,所有已装节点和状态(ENABLED / DISABLED / import-fail)都会列出来。
- 勾选你要删的行,支持多选;选完后顶部会出现「Selected N」区域和uninstall按钮。
- 点 uninstall,在确认弹窗里核对节点数量,任务进后台队列逐个执行。
- 完成后回列表确认节点已消失。核心就一句话:先勾选、再一把删,别一个个点。
CLI 入口:cm-cli.py
命令行入口是 ComfyUI-Manager 目录下的cm-cli.py,必须在和 ComfyUI 同一个 Python 环境里跑(用 venv 就先激活)。推荐按这个顺序走:
先看看现在都装了谁、哪些是启用状态:
python cm-cli.py show installed每行带状态和作者,先把要清退的对象圈出来。
某个节点版本拿不准时,先看它的版本历史:
python cm-cli.py show-versions ComfyUI-Impact-Pack确认清楚当前版本再动手,避免把刚更新的版本卸了又后悔。
正式卸载前先存快照——CLI 没有 dry-run 参数,快照就是那个「模拟运行」的保险:
python cm-cli.py save-snapshot快照落在 snapshots 目录,万一把依赖删错了,随时能回滚。
卸载命令本体,节点名可以一次写一堆,逐个执行:
python cm-cli.py uninstall ComfyUI-xxx ComfyUI-yyy ComfyUI-zzz没装的节点会自动 SKIPPED 并继续后面的,不会中断——这就是最常用的 ComfyUI-Manager 批量卸载命令。
三种清理深度,按情况选
Manager 会依据依赖是否被其他节点共用,决定清理到哪一层:
| 模式 | 适合场景 | 注意事项 |
|---|---|---|
| 安全清理(默认) | 日常维护,清掉确定不再用的节点 | 只删节点文件夹,pip 依赖原样保留,最稳,但可能留下残留依赖 |
| 深度清理 | 确认彻底弃用的节点,连根拔起 | 节点 + 专属 pip 依赖一起删;动手前先确认这些依赖没被别的节点引用 |
| 强制清理 | 删不干净的节点、IMPORT FAILED、有残留文件 | 节点 + 全部关联文件,破坏力最大,动手前一定先存快照 |
批量卸载是怎么区分共享依赖和专属依赖的?30 秒讲明白
逻辑其实很朴素:卸载前,Manager 会读节点的 pyproject.toml,看它声明了哪些 pip 包;再对照环境里「还有谁在用这些包」。只有这个节点在用的叫专属依赖,可以一起带走;别人也在用的叫共享依赖,删了整个环境都跟着坏。
打个比方,像合租退租:搬走的带走自己的东西,但公共冰箱和水电表不能动——先把「私人物品清单」对一遍,双方才扯皮不了。
精简后的核心逻辑长这样:
# 摘自 glob/manager_core.py 的简化版 def unified_uninstall(self, node_id, is_unknown): # 防止把 Manager 自己卸了 if 'comfyui-manager' in node_id.lower(): return result.fail(...) # 先查「已知节点」表 ver_and_path = self.active_nodes.get(node_id) if ver_and_path and os.path.exists(ver_and_path[1]): try_rmtree(node_id, ver_and_path[1]) # 删节点文件夹 del self.active_nodes[node_id]完整执行流程就 5 步:
- 名字解析:先在「已知节点」表里找,找不到再去「未知节点」表找,所以 CLI 也能清掉从自定义 git 地址装的节点。
- 依赖对账:读 pyproject.toml 里的依赖声明,和环境中已装包、其他节点的声明做交叉比对,逐个标记共享或专属。
- 执行删除:删节点文件夹,包括 inactive 的多个版本残留目录,并记录删掉的路径。
- 处理依赖:共享依赖原样保留,专属依赖按你选的清理深度移除——这就是「ComfyUI 依赖残留怎么清理」的关键一步。
- 结果输出:每个节点在 CLI 里给出 UNINSTALLED / SKIPPED / ERROR,快照系统留好回滚点。
避坑指南:ComfyUI 节点批量卸载前必做的检查 & 常见报错
⚠️ 删之前把这份清单过一遍,每项都配了命令:
- 先存快照,这是删除后唯一的后悔药:
python cm-cli.py save-snapshot - 拿不准某个节点是否被工作流用到,让它出一份依赖清单:
python cm-cli.py deps-in-workflow --workflow <工作流文件> --output deps.json - 批量卸载前先扫一眼已装列表,核对拼写,别因打错字白跑一趟:
python cm-cli.py show installed - 担心删多:先只卸载一个试水,没问题再批量清退——uninstall 支持多个节点名,先写一个就行
- 卸完发现坏了,直接回滚到快照:
python cm-cli.py restore-snapshot <快照文件>
高频报错场景,提前知道怎么处理:
- 卸载后工作流里某些节点变红:这些是被删节点的依赖。用快照回滚,或者把对应节点重装回来。
- 卸完其他节点报 ImportError:共享依赖被误删了。跑
python cm-cli.py fix <节点名>修复依赖,或重装节点让它把依赖补回来。 - 提示 ERROR: An error occurred while uninstalling 'xxx':⚠️ 多为文件夹不存在或进程占用。先用
show installed确认路径,文件夹被运行中的进程锁住就先停 ComfyUI 再试。
ComfyUI 节点清理后启动速度变化:性能收益 & 延伸阅读
清完最直观的是启动变快——启动时不用逐个导入没用的节点,页面出来前那段等待明显缩短了;进程占用的内存也会跟着降下来,被删节点文件夹和专属依赖占的磁盘空间一并释放。具体多少,取决于你清了多少节点,删得越多越明显。
想深入可以看这几处:
- cm-cli 命令文档:全部命令语法和参数说明
- 核心卸载逻辑:unified_uninstall 入口,含已知/未知节点的处理分支
- GUI 批量操作实现:多选、确认、入队列的前端逻辑
环境整洁比任何调参都快——下次节点失控,先做一轮批量卸载,再按需装新的。
【免费下载链接】ComfyUI-ManagerComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI.项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考