ComfyUIで新しいノードを入れたら別のノードが消えた|依存関係の競合を再現

依存関係の競合のログを背景にしたアイキャッチ ComfyUI

この記事について(広告・アフィリエイトリンクはありません)

カスタムノードを新しく入れたら、前から使っていたノードが一覧から消えた。新しいノードが壊れているとは限りません。入れた拍子に、共通のライブラリの版が変わった可能性があります。

公式ドキュメントが挙げている open_clip_torch の例を、試験用の環境で実際に起こしました。

所要時間:原因の確認は約5分。難易度:コマンドを使います。

先に結論(今回のテスト条件で)

確かめたこと結果
新しいノードの pip install で版が下がる前のノードが消えた
pip の警告出なかった
pip check「問題なし」のまま
新しいノードの固定を範囲指定に直すそれだけでは戻らなかった
前のノードの依存を入れ直す戻った
コードが古い版でしか動かないノード範囲指定にしても動かない。両立できなかった
  • まず、起動時のコンソールの IMPORT FAILED を見ます。
  • 入れる前に確かめるなら、pip install --dry-run に両方の requirements.txt を渡します。
  • 両立しないときは、ComfyUI を分けて動かします(公式の案内)。
起動ログの IMPORT FAILED と cannot import name の行
起動ログの IMPORT FAILED と cannot import name の行

試した環境

項目内容
ComfyUIポータブル版、7c4390a6(2026-10-31)。削除してよい試験用の環境
Python3.13(ポータブル版の同梱)
pip26.2.1
起動--cpu、--disable-all-custom-nodes、--whitelist-custom-nodes で試すノードだけ読み込み
ノード再現用に自作した3つ(下記)
ライブラリopen_clip_torch 2.26.1 と 3.3.0
検証日2026年11月4日

普段使いの環境は触っていません。同じことを普段の環境で試さないでください。 最後に試験環境の open_clip_torch は元の 3.3.0 に戻しました。

再現に使ったノード

実在のノードを名指しで「壊れる」とは書けないので、open_clip_torch の版の差を実際に使う最小のノードを作りました。requirements.txt と読み込みの1行だけが違います。

ノードrequirements.txtコードが使うもの
前から入っていたノードopen_clip_torch>=2.29.0open_clip.constants.HF_CONFIG_NAME(2.26.1 にはない)
新しく入れるノードopen_clip_torch==2.26.1open_clip だけ(どの版でも動く)
古い版に頼るノードopen_clip_torch==2.26.1open_clip.pretrained._RN50_quickgelu(新しい版にはない)

名前の差は、両方の版のソースを比べて確かめたものです。

実際に消える

前のノードだけの状態

open_clip_torch は 3.3.0 です。ノードは読み込まれています。

新しいノードの依存を入れる

python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\new_node\requirements.txt

pip の表示はこれだけです。

Found existing installation: open_clip_torch 3.3.0
Uninstalling open_clip_torch-3.3.0:
  Successfully uninstalled open_clip_torch-3.3.0
Successfully installed open_clip_torch-2.26.1

エラーも警告もありません。 版が 3.3.0 から 2.26.1 に下がっただけです。

再起動すると前のノードが消える

状態前のノード新しいノード
入れる前ありなし
入れた後なしあり

ComfyUI 自体は普通に起動します。コンソールには次のように出ます。

Cannot import ...custom_nodes\old_node module for custom nodes:
cannot import name 'HF_CONFIG_NAME' from 'open_clip.constants'
...
0.2 seconds (IMPORT FAILED): ...custom_nodes\old_node

読み込みに失敗したノードは、一覧に出てきません。 これが「消えた」の正体でした。ファイルは custom_nodes に残っています。

pip check では見つからなかった

トラブルのときに勧められる pip check は、今回はどの段階でも次の表示でした。

No broken requirements found.

理由は、pip check が調べるのはインストール済みのパッケージ同士の関係だからです。custom_nodes の requirements.txt は対象ではありません。 今回の競合は見つけられませんでした。問題なしと出ても、安心はできません。

入れる前に見つける

両方の requirements.txt を1回の pip に渡します。--dry-run なので、環境は変わりません。

python_embeded\python.exe -m pip install --dry-run -r ComfyUI\custom_nodes\old_node\requirements.txt -r ComfyUI\custom_nodes\new_node\requirements.txt

今回は、はっきり止まりました。

The conflict is caused by:
    The user requested open_clip_torch>=2.29.0
    The user requested open_clip_torch==2.26.1
ERROR: ResolutionImpossible

ノードが多いなら、気になる2つから試します。Manager 経由の場合に同じ確認ができるかは、試していません。

公式の対処を試す

公式ドキュメントでは、固定の == を範囲に変えて、依存を入れ直す方法が案内されています。試した結果は次のとおりです。

手順open_clip_torch前のノード新しいノード
==2.26.1 を >=2.26.1 に変更し、新しいノードを入れ直す2.26.1 のままなしあり
さらに前のノードの依存を入れ直す3.3.0ありあり

範囲に直すだけでは戻りませんでした。 2.26.1 も >=2.26.1 を満たすので、pip は何も変えないからです。前のノードの requirements.txt も入れ直すと、新しい版に上がって両方が読み込まれました。

ただし requirements.txt を手で変えるのは、そのノードが新しい版で本当に動く場合だけです。今回は読み込みまでの確認で、ノードの実行まではしていません。ノードを更新すると、変更は上書きされる可能性があります。

範囲に直しても解決しないとき

コードが古い版の中身に頼っていると、範囲指定にしても動きません。「古い版に頼るノード」で試しました。

open_clip_torch前のノード古い版に頼るノード
2.26.1なしあり
3.3.0ありなし

どちらの版でも、片方が消えます。1つの環境では両立できません。 公式の案内では、選択肢は次のとおりです。

  • ノードを更新するか、作者に報告する
  • 使わないほうのノードを外す
  • 別の Python 環境で ComfyUI をもう1つ動かす

ノードは ComfyUI が動いている環境に読み込まれるので(公式の説明)、別の環境を作るだけでは足りず、ComfyUI ごと分ける必要があります。ポータブル版は、フォルダーを分ければ環境も分かれる作りです。

消えたときの手順

  1. コンソールを見る:IMPORT FAILED の行と、その上の cannot import name や No module named を探します。
  2. 版を調べる:python_embeded\python.exe -m pip show open_clip_torch
  3. 要求を比べる:custom_nodes の requirements.txt で、同じライブラリの指定を探します。
  4. 戻す:消えたノードの requirements.txt を入れ直します。今度はもう一方が消える可能性があります。
  5. 両立しないなら分ける:片方を外すか、ComfyUI を分けます。

カスタムノードの入れ方と外し方はこちらにまとめています。

1つずつ入れて、そのつど再起動すると、どのノードで起きたかが分かります。これも公式の案内です。

NumPy の衝突は再現できなかった

NumPy の 1.x と 2.x の衝突もよく話題になります。今回の Python 3.13 の環境で numpy<2 を入れようとすると、次のようになりました。

Using cached numpy-1.26.4.tar.gz (15.8 MB)
...
ERROR: Exception:
BackendUnavailable: Cannot import 'mesonpy'

ビルドに失敗して止まり、NumPy は 2.5.3 のままでした。今回の環境では、版が下がって壊れることはなく、インストールが失敗しました。 別の Python の版やビルド環境では結果が変わる可能性があります。NumPy の衝突で実際にノードが消えるところは、再現していません。

よくある質問(FAQ)

Q. 新しいノードが悪いのですか?

必ずしもそうではありません。今回の新しいノードは正常に動いていて、共通のライブラリの版を下げただけでした。

Q. なぜ ComfyUI は教えてくれないのですか?

起動のログには出ます。ただ、画面に出るとは限りません。今回はコンソールで確かめました。

Q. pip check が問題なしなら大丈夫ですか?

今回は競合があっても問題なしと出ました。custom_nodes の要求は調べないためです。

Q. ノードを入れ直せば直りますか?

ファイルの入れ直しでは直りません。依存の版を変える必要があります。

Q. 依存を何度も入れ直してもいいですか?

版が上下するだけで、両立するとは限りません。普段の環境を守るなら、先に ComfyUI のフォルダーごとコピーして試します。

まとめ

  • ノードが消えたら、まず IMPORT FAILED を探します。
  • pip check だけでは見つからない競合があります。
  • 入れる前は --dry-run、両立しないなら環境を分けます。

この記事の検証環境

Windows 11 / ComfyUI 7c4390a6(2026-10-31)/ Python 3.13 / PyTorch 2.14.0+cu130 / pip 26.2.1 / CPU モードで起動 / 再現用の自作ノード / 2026年11月4日
これまでの検証の一覧はこちら

検証メモ

  • 自作のノード:競合を確実に起こすための最小のものです。実在のノードで同じことが起きると確かめたわけではありません。
  • open_clip_torch の版:公式の例は 2.26.1 と 2.29.0 以上です。「以上」の指定で実際に入ったのは 3.3.0 でした。名前の差は 2.26.1 と 2.29.0 のソースで比べました。
  • 確認した範囲:/object_info にノードがあるかと起動ログです。ノードの実行や画面の表示は確かめていません。
  • 読み込みの順:試験環境には最初から open_clip_torch 3.3.0 が入っていました(別のノードの依存と思われます)。
  • 未確認のこと:Manager からの導入、Comfy Desktop 版、uv、PyTorch の CUDA 版の衝突(公式の例の2番目)、NumPy の衝突でノードが消える例。

参考リンク

この記事を書いた人
こまたろ

画像生成 AI に興味を持ったのがきっかけで、3年ほど前から ComfyUI を触っています。始めたころは今ほど情報がそろっておらず、何時間もかけて整えた環境が翌日のアップデートで動かなくなったこともありました。

KOBO Lab は、自分の学び直しと、これから ComfyUI を始める人が同じところでつまずかないようにと思って始めたサイトです。初心者も中級者も、迷ったときに開くサイトを目指しています。

検証は、RTX 5090 を積んだ自作 PC 1台で、実際に動かして確かめています。作業を楽にするための自作ツールも作っています。

記事は、運営者自身の経験と検証をもとに、Claudeで下書きを作り、GrokボットとMuseでも添削や確認をして仕上げています。

KOBO Lab の新しい記事を受け取る
ComfyUIカスタムノード
KOBO Lab の新しい記事を受け取る
タイトルとURLをコピーしました