依赖安装提速10倍comfy-cli 的 --fast-deps 与 --uv-compile 统一依赖解析原理深度解析【免费下载链接】comfy-cliCLI for using ComfyUI项目地址: https://gitcode.com/gh_mirrors/co/comfy-clicomfy-cli 是一款 ComfyUI 命令行管理工具一条命令即可完成安装、自定义节点与模型管理。其中--fast-deps与--uv-compile两个开关将依赖安装从逐节点 pip 串行安装升级为基于 uv 的批量解析速度最高可提升 10 倍并根治自定义节点之间常见的依赖版本冲突问题。本文带你快速理解它们的原理与用法。为什么 ComfyUI 依赖安装又慢又容易冲突ComfyUI 的生态建立在成百上千个自定义节点custom nodes之上而每个节点都自带一份独立的requirements.txt。默认的安装方式是逐节点执行pip install这会带来三个经典痛点痛点具体表现 速度慢pip 的解析算法保守逐个安装时重复下载、反复解析 版本冲突节点 A 需要xformers0.0.21节点 B 需要0.0.23后装者直接覆盖先装者❓ 结果不可复现安装顺序不同最终环境不同comfy-cli 针对这个问题提供了两条加速路径内置的--fast-deps与统一的--uv-compile二者都基于uv pip compile做一次全局解析再一次性安装。四种依赖策略一览策略开关解析器位置行为默认无cm_cli逐节点pip install快速依赖--fast-depscomfy-cli 内置DependencyCompilercomfy-cli 侧批量uv pip compile不装依赖--no-depscm_cli跳过依赖安装统一解析--uv-compileComfyUI-ManagerUnifiedDepResolvercm_cli 侧批量解析 跨节点冲突检测--fast-deps原理内置的 uv 依赖编译器--fast-deps把依赖安装从 pip 切换到 comfy-cli 内置的DependencyCompiler源码见 comfy_cli/uv.py整体流程分三步收集需求扫描工作区与所有节点目录中的requirements.txt、pyproject.toml、setup.cfg、setup.pyFind_Req_Files统一编译把所有需求文件合并一次性执行uv pip compile完成全局版本解析并注入 GPU 对应的 PyTorch 源--torch-backend批量安装用uv pip install一次装完而非逐节点串行。它的核心优势⚡更快uv 以 Rust 实现依赖解析与下载并行化比 pip 快一个数量级零依赖门槛只需要uv不需要安装 ComfyUI-Manager冲突不崩溃遇到版本冲突时交互式提示你选择保留哪个版本见Compile中的resolve_strategyask分支而不是直接报错退出。支持的命令comfy install、comfy node install、comfy node reinstall、comfy node restore-snapshot。comfy install --fast-deps comfy node install comfyui-impact-pack --fast-deps--uv-compile原理ComfyUI-Manager 统一依赖解析如果说--fast-deps是comfy-cli 自己干那么--uv-compile就是请专业团队干——它委托 ComfyUI-Managerv4.1的UnifiedDepResolver完成解析。comfy-cli 采用pass-through透传架构execute_cm_cli()在 comfy_cli/command/custom_nodes/cm_cli_util.py 中只需给 cm_cli 子进程命令追加--uv-compile参数真正的解析全部由 Manager 侧完成。这样设计的好处是 comfy-cli 无需重复实现解析逻辑Manager 升级时也不需要同步修改。相比--fast-deps它多了一个杀手锏——跨节点冲突检测能定位出哪几个节点包之间存在不兼容的依赖以及冲突的具体原因节点归因冲突报告直接指向节点排障成本大幅降低。它覆盖 7 个节点命令install、reinstall、update、fix、restore-snapshot、restore-dependencies、install-deps并提供独立的存量同步命令comfy node install comfyui-impact-pack --uv-compile comfy node uv-sync # 对已安装的所有节点批量重新解析一键设为默认值不想每次手动加开关一条命令即可全局开启comfy manager uv-compile-default true该设置写入配置文件~/.config/comfy-cli/config.ini的[DEFAULT]段键名uv_compile_default源码见 comfy_cli/config_manager.py。开启后所有节点命令自动走--uv-compile也可用--no-uv-compile对单次命令临时关闭。三态标志位开关是如何被解析的--uv-compile在 7 个命令中都被设计为三态参数实现见 comfy_cli/command/custom_nodes/command.py 的_resolve_uv_compile用户输入参数值解析结果--uv-compileTrue强制开启--no-uv-compileFalse强制关闭不写None回退查配置文件默认值优先级规则很直白显式参数 配置默认。一个值得注意的细节当配置默认开启、但用户显式传了--fast-deps时不会报错而是静默地让--fast-deps胜出——因为用户当前这条命令的意图永远优先于全局默认。互斥规则--uv-compile、--fast-deps、--no-deps三者互斥同时使用会直接报错退出Cannot use --fast-deps and --uv-compile together✅例外comfy node restore-snapshot命令中--fast-deps与--uv-compile是同义词cm_cli 的 restore-snapshot 没有--no-deps而--uv-compile内部已隐含 no-deps 语义此时冲突的组合反而是--fast-deps --no-uv-compile。如何选择一张表说清楚维度--fast-deps--uv-compile解析器comfy-cli 内置DependencyCompilerComfyUI-ManagerUnifiedDepResolver覆盖范围comfy install 节点安装/重装/恢复快照7 个节点命令冲突处理交互提示手动选版本自动检测并归因到具体节点可设为默认否是uv-compile-default前置要求仅需uvComfyUI-Manager v4.1选型建议 全新安装 ComfyUI 环境 →comfy install --fast-deps Manager v4.1 用户管理节点 → 优先--uv-compile推荐 老版本 Manager → 回退使用--fast-deps版本兼容性说明comfy-cliComfyUI-Manager行为当前版本v4.1--uv-compile正常工作当前版本v4.0 及以下cm_cli 返回未知标志错误comfy-cli 不做版本探测旧版 comfy-cli任意版本无--uv-compile开关原有行为不变不加开关、不开配置时行为与之前完全一致逐节点 pip 安装完全向后兼容。总结comfy-cli 用两种机制解决了同一个问题——ComfyUI 自定义节点依赖装得慢、装得乱--fast-deps内置DependencyCompiler靠uv pip compile批量解析轻量、零额外依赖适合全新安装--uv-compile透传给 ComfyUI-Manager 的统一解析器跨节点冲突自动归因适合长期管理大量节点并可一键设为默认。理解先编译、再安装这一统一依赖解析思路后你会发现依赖冲突不再是玄学而是一步可检测、可定位的工程问题。【免费下载链接】comfy-cliCLI for using ComfyUI项目地址: https://gitcode.com/gh_mirrors/co/comfy-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考