【ComfyUI】カスタムノードが読み込まれない時の原因と確実な解決手順7選

問題の概要:カスタムノードがワークフローに表示されない

ComfyUIは、コミュニティで開発された多数のカスタムノードを追加することで、その機能を大幅に拡張できます。しかし、カスタムノードをcustom_nodesフォルダにインストールしたにもかかわらず、ComfyUIを再起動してもワークフローエディタのノード一覧に表示されない、または以下のようなエラーメッセージがターミナル/コンソールに出力される問題が頻繁に発生します。

# 代表的なエラーメッセージ例
ERROR:    Could not import node: ComfyUI-Custom-Node-Pack
WARNING:  Failed to load node: /path/to/custom_nodes/ComfyUI-Example-Node
Traceback (most recent call last):
  File "comfyui_folder/server.py", line 60, in load_custom_nodes
    module_spec.loader.exec_module(module)
ModuleNotFoundError: No module named 'some_required_package'

この問題が発生すると、特定のLoRAモデルを読み込むノードや、画像処理の特殊効果を追加するノードなど、必要な機能が使えず、ワークフローの構築が行き詰まってしまいます。

原因の解説:なぜカスタムノードは読み込みに失敗するのか?

カスタムノードの読み込み失敗は、単一の原因ではなく、複数の要因が絡み合っていることがほとんどです。主な原因は以下の4つに分類できます。

1. Pythonパッケージの依存関係の不足

ほとんどのカスタムノードは、torchnumpy以外の追加ライブラリ(例:opencv-python, scipy, pillowなど)を必要とします。これらの依存パッケージがComfyUIが使用するPython環境にインストールされていない場合、ノードのインポート時にModuleNotFoundErrorが発生します。

2. ノードファイルの配置場所または構造の誤り

カスタムノードのリポジトリをcustom_nodesフォルダにクローンした際、余計なサブフォルダ階層ができてしまい、ComfyUIが__init__.pynode.pyといった主要ファイルを見つけられないケースがあります。正しい構造はcustom_nodes/ノード名フォルダ/の直下に実行ファイルが配置されている状態です。

3. ComfyUI本体またはノードのバージョン非互換性

カスタムノードは特定のComfyUIのAPIバージョンに依存して開発されています。ComfyUIを頻繁に更新している場合、古いカスタムノードが新しいバージョンと互換性を失い、読み込みに失敗することがあります。逆に、ノードが非常に新しいAPIを使用していて、古いComfyUIでは動作しないこともあります。

4. ノード定義の構文エラー

ノードのPythonスクリプト自体に構文エラーや、実行時エラー(未定義の変数参照など)があると、インポートの段階で失敗します。これはノード開発者のミスであることもあれば、ユーザーの環境に合わせた修正が不十分な場合もあります。

解決方法:ステップバイステップで問題を切り分け、修正する

以下に、問題の原因を体系的に特定し、解決するための7つのステップを紹介します。上から順に試すことをお勧めします。

ステップ1: ComfyUIの再起動とエラーログの確認

まず、ComfyUIを完全に終了し、再起動します。多くの場合、単純な再読み込みで解決します。再起動後も問題が続く場合は、ComfyUIを起動したターミナル(コマンドプロンプト)の出力を最初から最後まで注意深く確認してください。エラーメッセージの詳細が解決の最大の手がかりです。

ステップ2: 依存パッケージのインストール

エラーログにModuleNotFoundError: No module named 'xxxx'と表示された場合、そのモジュール(’xxxx’)をインストールする必要があります。ComfyUIが使用するPython環境で以下のコマンドを実行します。

# ComfyUIのインストールフォルダ内で、その環境のpipを使用
# Windows (venv使用の場合)
.venvScriptspip install opencv-python

# Linux/macOS (venv使用の場合)
./venv/bin/pip install opencv-python

# または、ComfyUIに同梱のpython.exeを直接指定(Windows例)
python_embededpython.exe -m pip install opencv-python

多くのカスタムノードはrequirements.txtファイルを同梱しています。その場合は、そのファイルを使って一括インストールが可能です。

.venvScriptspip install -r custom_nodesComfyUI-Node-Namerequirements.txt

ステップ3: ノードフォルダの構造を確認する

custom_nodesフォルダ内の構造を確認します。よくある間違いは、Gitクローン時に作成される「フォルダの中のフォルダ」構造です。

# ❌ 間違った構造 (二重フォルダ)
custom_nodes/
└── ComfyUI-Example-Node/  # リポジトリ名のフォルダ
    └── ComfyUI-Example-Node/  # 実際のノードファイルが入っているフォルダ
        ├── __init__.py
        ├── node.py
        └── ...

# ✅ 正しい構造
custom_nodes/
└── ComfyUI-Example-Node/  # ノードファイルが直下にある
    ├── __init__.py
    ├── node.py
    └── ...

間違った構造の場合は、内側のフォルダの内容を1つ上の階層(リポジトリ名のフォルダ)に移動させ、空になった内側のフォルダは削除します。

ステップ4: ComfyUIのマネージャーを使用する(推奨)

手動インストールに問題がある場合は、ComfyUI Managerというカスタムノード自体をインストールしましょう。このマネージャーは、他のカスタムノードの検索、インストール、更新、依存関係の解決をGUIから行える強力なツールです。

1. ComfyUI Managerのリポジトリをcustom_nodesフォルダに手動でクローンまたはダウンロードします。
2. ComfyUIを再起動し、ワークフローに「ComfyUI Manager」関連のノードが追加されていることを確認します。
3. 「Manager」ノードを使用して、問題のノードを検索し、マネージャー経由で再インストールします。マネージャーは自動的に依存関係を処理してくれます。

ステップ5: ComfyUIとノードのバージョンを調整する

互換性の問題が疑われる場合、以下の方法を試します。

  • ComfyUIを更新する: git pullでComfyUI本体を最新版に更新します。
  • ノードを更新する: ノードフォルダ内でgit pullを実行し、ノードを最新版に更新します。
  • ノードを過去の安定版に戻す: ノードのGitHubリリースページやコミット履歴から、少し古い安定版を探してインストールし直します。

ステップ6: ノードファイルを直接デバッグする

上級者向けの方法です。エラーログで特定のファイルと行番号が指摘されている場合、そのファイルをテキストエディタで開き、問題の箇所を確認します。単純なタイプミスであれば自分で修正できる可能性があります。また、ノードの__init__.pyファイルを開き、インポート文を一時的にコメントアウトして、どのモジュールで失敗しているかを特定することもできます。

ステップ7: クリーンインストールを試みる

これらすべてを試しても解決しない最終手段として、以下の手順を実行します。

  1. 問題のカスタムノードフォルダをcustom_nodesから一時的に別の場所に移動(バックアップ)。
  2. ComfyUIを再起動し、正常に起動することを確認。
  3. ComfyUI Managerを通じて、またはgit cloneコマンドでノードを一から再インストール
  4. 依存パッケージをインストールし、ComfyUIを再起動。

コード例・コマンド例:トラブルシューティングの実践

「ComfyUI-Impact-Pack」という人気ノードが読み込まれない具体的なシナリオを想定したコマンド例です。

# 1. エラーログを確認 (ターミナルに以下のエラーが表示されたと仮定)
# ERROR: Could not import node: ComfyUI-Impact-Pack
# ModuleNotFoundError: No module named 'skimage'

# 2. 不足しているパッケージ 'scikit-image' (skimage) をインストール
cd /path/to/ComfyUI
./venv/bin/pip install scikit-image

# 3. さらに別の依存関係も不足している可能性があるため、ノード付属のrequirements.txtでインストール
./venv/bin/pip install -r custom_nodes/ComfyUI-Impact-Pack/requirements.txt

# 4. ComfyUIを再起動
# (実行中のプロセスをCtrl+Cで停止後、再度起動スクリプトを実行)
python main.py --listen

まとめ・補足情報

ComfyUIのカスタムノード読み込み問題は、そのほとんどが「依存パッケージの不足」「フォルダ構造の誤り」の2点に集約されます。最初にターミナルのエラーメッセージを丁寧に読み、それに従って必要なパッケージをインストールすることが最短の解決策です。

予防策として、以下の点を心がけると良いでしょう。

  • ComfyUI Managerの導入を最初に行う: これにより、その他のノードのインストールと管理が格段に楽になります。
  • 環境を分ける: 特に中級以上のユーザーは、ComfyUI用のPython仮想環境(venv)やDockerコンテナを用意することで、システムのPython環境との衝突を防げます。
  • コミュニティを活用する: GitHubのIssueページやDiscordサーバー、RedditのComfyUIコミュニティでは、同じ問題に遭遇した人々の解決策が多く共有されています。エラーメッセージをそのまま検索してみましょう。

カスタムノードはComfyUIの可能性を無限に広げる要素です。読み込み時のトラブルは多少の手間ではありますが、体系的なアプローチで対処すれば、ほぼ確実に解決できます。本記事の手順を参考に、豊かなComfyUIの機能を存分に楽しんでください。

💡 この問題を根本的に解決するには

ローカル環境でGPUトラブルが頻発する場合、クラウドGPUサービスの利用も検討してみてください。環境構築の手間なく、すぐにAI開発を始められます。

  • RunPod — RTX 4090が$0.44/h〜、ワンクリックでJupyter環境が起動
  • Vast.ai — コミュニティGPUマーケットプレイス、最安値でGPUレンタル
この記事は役に立ちましたか?