ComfyUI最让人头疼的一类故障,不是“从一开始就跑不通”,而是“昨天跑得好好的,今天打开就报错了”。你什么都没改,工作流文件没动,模型没删,参数没调,但它就是不行了。

这种情况我遇到过好几次,每一次的原因都不太一样。后来跑得多了,大概能总结出几类最常见的诱因。

先问自己一个问题:昨天到今天之间,你装了什么

“什么都没改”通常是一个错觉。仔细回想一下,昨天到今天之间,你是不是点了ComfyUI Manager里的“Update All”?或者系统弹了一个Windows更新,你顺手就装了?又或者某个自定义节点提示有新版本,你点了一下更新?

这几件事,单独看都不起眼,但它们是导致工作流“突然失效”的最大嫌疑人。

ComfyUI现在的架构跟早期不一样了。它不再是一个单一的应用程序,而是由多个独立版本化的组件拼在一起——核心代码、前端包、工作流模板、自定义节点各自的依赖库,每一个都在独立更新。你点了“Update All”,有可能只更新了核心和部分节点,前端包还停在旧版本;或者反过来,前端更新了,某个自定义节点还没跟上。这种版本错位不会立刻报一个清晰的错误,而是让工作流在运行时行为异常。

我遇到过最典型的一次是:Manager里显示所有节点都是最新状态,但工作流跑起来之后,某个ControlNet节点的输出完全不对。后来在终端启动日志里翻到一行“IMPORT FAILED”,才发现那个节点虽然显示“已更新”,但实际加载时失败了,ComfyUI没有加载它,只是没有在界面上弹出一个足够显眼的提示。

自定义节点是最大的不确定性来源

如果你在用ComfyUI的过程中装了不少自定义节点,那么“昨天能跑今天报错”的第一嫌疑人,大概率就是它们。

自定义节点的更新频率很高,有些作者一周推好几次版本。每次更新都可能调整了节点的输入输出结构、修改了依赖库的版本要求,或者换了API接口。而你的工作流文件里记录的还是旧版本的连接方式,加载新版本节点时就会出现参数对不上、连线失效、甚至节点类型无法识别的情况。

官方文档里明确建议过一个排查方法:如果工作流突然报错且找不到明显原因,先把custom_nodes文件夹临时改名,重启ComfyUI,跑一个内置的简单工作流。如果简单工作流能跑通,说明问题出在自定义节点上;如果简单工作流也报错,那问题在ComfyUI核心环境或驱动层面。这一步能帮你快速判断方向。

我自己的习惯是,在Manager里更新节点之前,先记一下当前工作流最后一次正常运行的日期。如果更新之后出了问题,至少知道是哪个时间点引入的。

Windows更新是一个容易被忽略的变量

如果你用的是Windows,还有一类“昨天能跑今天报错”的原因跟ComfyUI本身无关——系统更新。

Windows 11的24H2版本更新之后,有用户报告ComfyUI的便携版Python环境出现大面积IMPORT FAILED。原因是系统更新改变了DLL的加载方式,导致便携版Python找不到自己的site-packages目录,所有依赖Python的自定义节点全部加载失败。

这个问题跟ComfyUI的版本、节点的版本都没关系,纯粹是操作系统层面的变动。如果你的报错发生在一次Windows更新之后,而且终端里出现大量自定义节点同时IMPORT FAILED,可以往这个方向查。

Windows Defender也有类似的情况。有用户报告Defender在某些更新后会把ComfyUI目录下的.dll文件或.bat启动脚本当成威胁删除或隔离,导致ComfyUI启动失败或运行时报错。

显卡驱动和PyTorch的版本错位

还有一类“突然失效”跟显卡驱动有关。

ComfyUI依赖的PyTorch版本对NVIDIA驱动有最低版本要求。如果你最近更新了显卡驱动,或者PyTorch因为某个节点的依赖被升级了,两者之间可能出现版本不匹配。比如PyTorch需要CUDA 13.0对应的驱动版本580以上,而你当前驱动还是577,启动时就会出现CUDA初始化失败或“no kernel image is available”这类报错。

反过来,如果驱动自动更新到了一个比PyTorch更新的版本,也可能出现不兼容。有用户报告过NVIDIA驱动更新到某个版本之后,ComfyUI直接报“CUDA unknown error”,回退驱动版本才恢复正常。

这类问题的特点是:报错信息里通常会出现CUDA、driver、kernel相关的关键词。看到这些词,先去确认显卡驱动版本和PyTorch版本是否匹配。

节点缓存和前端状态异常

ComfyUI为了加速生成,会缓存已运算完成的节点数据。正常情况下这是一个优化机制,但缓存文件在更新或频繁修改工作流之后可能变得不兼容,导致节点读取旧数据、参数不刷新,或者在工作流加载时错误地删除了有效的连线。

有一个具体的例子:ComfyUI前端v1.41.21版本引入了一个_removeDuplicateLinks()的改动,它在工作流加载时错误地移除了有效连线,导致原本正常的工作流突然出现连线丢失或节点行为异常。这类问题是前端本身的回归性bug,跟你做的任何事情都无关。

如果你怀疑是缓存问题,可以关闭ComfyUI,删除comfyui/compiled/目录和nodes_cache.json文件,然后重启。缓存会在重启后重新生成。

一个实用的排查顺序

遇到“昨天能跑今天报错”,我自己的排查顺序是这样的:

先看终端启动日志。不要只看界面上的弹窗,去终端里找IMPORT FAILED或ModuleNotFoundError。如果有,先处理加载失败的节点。

回想一下昨天到今天之间的变更。装了Windows更新?点了Update All?装了新节点?还是什么都没做?这个信息能帮你快速缩小范围。

用
–disable-all-custom-nodes启动测试
。如果简单工作流能跑,问题在自定义节点;如果简单工作流也跑不了,问题在核心环境或驱动层面。

检查显卡驱动和PyTorch版本。如果报错信息里有CUDA相关的关键词,先确认驱动版本是否满足当前PyTorch的要求。

清缓存重试。如果以上都排除了,删除compiled目录和nodes_cache.json,重启ComfyUI。

大部分“昨天能跑今天报错”的情况,都能在这五步里找到方向。真正需要重装环境的场景其实不多,大多数时候是某个环节的版本变了,或者某个节点加载失败了,只是ComfyUI没有在界面上把原因显示得足够清楚。