どのような問題が発生するか
ComfyUIでカスタムノードをインストールしようとした際、最も遭遇しやすいのが「依存関係衝突(Dependency Conflict)」エラーです。症状としては次のようなものが挙げられます:
- インストール中に「Package conflicts detected」「Requirement already satisfied」という矛盾したメッセージが表示される
- 起動時に「ModuleNotFoundError: No module named ‘xxx’」が発生する
- 特定のノードを使用すると「AttributeError: module ‘torch’ has no attribute ‘xxx’」というエラーが出る
- ComfyUIが起動しても、特定のノードがグレーアウトして使用できない
代表的な環境:Windows 11 + Python 3.11 + ComfyUI Portable版、またはUbuntu 22.04 + miniconda環境
結論
カスタムノードの依存関係衝突は、requirements.txtの競合排查と、Pythonパッケージのバージョン固定、または新規環境でのクリーンインストールにより解決できる。
具体的な解決手順
ステップ1:問題の切り分けを行う
まず最初に、 проблемаがカスタムノード由来かどうかを確認します。ComfyUIをセーフモードで起動してください:
# ComfyUI起動時に以下のキーを押しながら起動
# Windows: Shiftキー
# Mac: Optionキー
セーフモードでは全カスタムノードが無効化されます。セーフモードで正常に起動すれば、問題の原因はカスタムノードにあると判断できます。
ステップ2:依存関係の競合を調査する
問題のカスタムノードがインストールされているディレクトリで、requirements.txtを確認します:
# Windowsの場合
cd E:ComfyUI_windows_portableComfyUIcustom_nodes対象のノード
type requirements.txt
# Mac/Linuxの場合
cd ~/ComfyUI/custom_nodes/対象のノード
cat requirements.txt
競合の典型例はtorchのバージョン指定です。例えば:
torch==2.4.1
torch>=2.4.2
のように異なるノードが相反するバージョンを要求している場合、pipは解決できません。
ステップ3:Python環境の直接確認
インストールされているパッケージのバージョンを直接確認します:
# ComfyUIのPython環境で実行
# Windows Portable版の場合
E:ComfyUI_windows_portablepython_embededpython.exe -m pip list | grep torch
# Anaconda/Miniconda環境の場合
conda activate comfyui
pip list | grep -E "torch|numpy|pillow"
インストールされているtorchのバージョンと、カスタムノードが要求するバージョンを比較します。
ステップ4:競合パッケージの解決
バージョン競合が検出された場合、いくつかの解決策があります:
方法A:特定バージョンをインストールする
# 例:torch 2.4.1に固定する場合
pip install torch==2.4.1 torchvision==0.19.1 --index-url https://download.pytorch.org/whl/cu121
注意:GPU環境に合わせてCUDAバージョンは適切に選択してください(cu118, cu121, cu124など)
方法B:requirements.txtを一時的に修正する(上級者向け)
# 対象のカスタムノードディレクトリ内のrequirements.txtを開く
# 以下のようにバージョンを緩和する
# 変更前
torch==2.4.1
# 変更後
torch>=2.4.0
torch<=2.5.0
方法C:新規クリーン環境を作成する
競合が複雑な場合、新規環境にインストールし直すのが最も確実です:
# Anaconda/Minicondaの場合
conda create -n comfyui_new python=3.11
conda activate comfyui_new
# PyTorchとComfyUIをインストール
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
# ComfyUIをクローン
git clone https://github.com/comfyanonymous/ComfyUI
# カスタムノードを再度インストール
ステップ5:ComfyUI-Managerを使った再インストール
ComfyUI-Managerがインストールされている場合、一からノードを再インストールを試みます:
# custom_nodesディレクトリに移動
cd E:ComfyUI_windows_portableComfyUIcustom_nodes
# ComfyUI-Managerを最新版に更新
git pull
# 問題のありそうなノードを削除(ディレクトリごと)
rm -rf 問題のあるノードディレクトリ
# ComfyUIを再起動すると、Managerが再インストールを提案する
ステップ6:設定ファイルのリセット
稀に設定ファイル破損が原因の場合があります。その際は以下のファイルを削除します:
# Windows
del "%APPDATA%ComfyUIextra_models_config.yaml"
del "%APPDATA%ComfyUIconfig.json"
# Mac
rm "~/Library/Application Support/ComfyUI/extra_models_config.yaml"
rm "~/Library/Application Support/ComfyUI/config.json"
# Linux
rm "~/.local/share/ComfyUI/extra_models_config.yaml"
rm "~/.local/share/ComfyUI/config.json"
削除後、ComfyUIを再起動するとクリーンな状態で起動します。
補足・注意点
バージョン依存の罠
- torchのバージョン固定は危険:あるノードがtorch==2.4.1を要求し、別のノードがtorch>=2.4.2を要求する場合、両立不可能です。必ずGitHubのIssueを確認して、どのバージョン組み合わせが安定しているかを確認してください。
- GPU/CPU版の不一致:CPU版PyTorchを入れている環境にGPU版をインストールしようとするとエラーになります。インストールURLを正しく指定してください。
環境別の注意点
- Windows Portable版:python_embededフォルダ内のPythonを使用するため、グローバルなPython環境とは別管理になります。
- WSL/Ubuntu:miniconda環境を使用している場合は、condaとpipの混合に注意してください。
- Mac(M1/M2):ARM版PyTorchが必要な場合があり、Intel版とはインストールURLが異なります。
git resetによる被害
GitHubのIssueで「git –hardを実行したら問題が起きた」という報告があります。カスタムノードディレクトリ内で安易にgit reset –hardを実行すると、ComfyUI本体に影響を与える可能性があります。操作は自己責任で行ってください。
ログの活用
詳細なエラー情報を得るには、ComfyUI起動時に出力されるターミナルログを確認してください。エラー発生時のスタックトレースから、問題の個所を特定できます。
参考元
- ComfyUI公式ドキュメント – Troubleshooting
- Reddit – Problems installing custom nodes
- ComfyUI Forum – Problem with installation
- GitHub – ComfyUI-Manager Issue #2016