問題の概要:Extensionインストール時のgitエラー
Stable Diffusion WebUI(以下、SD WebUI)を使用している際、Extensionsタブから新しい拡張機能をインストールしようとすると、以下のようなgit関連のエラーメッセージが表示され、インストールに失敗することがあります。
Couldn't install [拡張機能名]
Error: [WinError 2] 指定されたファイルが見つかりません。
Command: "git" clone ...
または
fatal: not a git repository (or any of the parent directories): .git
または
'git' is not recognized as an internal or external command, operable program or batch file.
このエラーは、Gitリポジトリから拡張機能をクローン(ダウンロード)する過程で、システム上のgitコマンドが正しく認識されない、または実行できない場合に発生します。初心者ユーザーが最初に遭遇する一般的な障害の一つであり、SD WebUIの拡張機能エコシステムを活用する上で大きな障壁となります。
原因の解説:なぜgitエラーが起こるのか?
SD WebUIの拡張機能は、GitHubなどのGitリポジトリホスティングサービスで公開・管理されていることがほとんどです。そのため、WebUIは内部でgit cloneコマンドを使用して拡張機能のコードをダウンロードします。このプロセスが失敗する主な原因は以下の3つに大別されます。
1. Gitがシステムにインストールされていない
最も根本的な原因です。SD WebUIのインストーラーや一部の配布パッケージにはGitが同梱されていない場合があり、ユーザーのPCにGitがインストールされていない状態です。そのため、WebUIがgitコマンドを呼び出そうとしても、システムはそのコマンドを認識できずにエラーを発生させます。
2. システムの環境変数「PATH」にGitの実行パスが登録されていない
Gitはインストールされているにも関わらず、システムがその場所を認識できない状態です。コマンドプロンプトやターミナルでgitと入力したときに動作するためには、Gitの実行ファイル(git.exeなど)が存在するディレクトリへのパスが、システムの環境変数「PATH」に追加されている必要があります。これが設定されていないと、「’git’ is not recognized…」というエラーが発生します。
3. SD WebUIの実行環境の問題
まれに、SD WebUIを起動するバッチファイル(webui-user.bat)の設定や、仮想環境(venv)内のPATH設定に問題があり、WebUIプロセス内からGitにアクセスできないケースがあります。また、プロキシ環境下や企業のファイアウォール内では、Gitがインターネット上のリポジトリに接続できないことも原因となり得ます。
解決方法:ステップバイステップでの対処法
以下の手順を上から順番に試していくことをお勧めします。多くの場合、手順1または2で問題は解決します。
手順1: Gitのインストール確認と新規インストール
まず、Gitがインストールされているか確認します。Windowsの場合はコマンドプロンプト(cmd)を、macOSやLinuxの場合はターミナルを開き、以下のコマンドを実行してください。
git --version
バージョン情報(例: git version 2.40.1)が表示されれば、Gitはインストールされています。何らかのエラーが表示される場合は、Gitをインストールする必要があります。
Gitのインストール方法:
- 公式サイト(https://git-scm.com/)にアクセスし、お使いのOS用のインストーラーをダウンロードします。
- インストーラーを実行します。設定は基本的にデフォルトのままで構いませんが、「Adjusting your PATH environment」の設定画面では「Git from the command line and also from 3rd-party software」を選択することが極めて重要です。 このオプションにより、システム全体のPATHにGitが自動的に登録されます。
- インストールが完了したら、PCを再起動し、再度
git --versionを実行して確認します。
手順2: 環境変数PATHの手動設定(手順1で解決しない場合)
GitはインストールされているがPATHが通っていない可能性があります。手動で設定しましょう。
Windowsの場合:
- Gitのインストール先を確認します(通常は
C:Program FilesGitcmdまたはC:Program Files (x86)Gitcmd)。 - 「システムのプロパティ」→「環境変数」を開きます。
- 「システム環境変数」のリストから「Path」を選択し、「編集」をクリックします。
- 「新規」をクリックし、Gitのインストール先パス(例:
C:Program FilesGitcmd)を追加します。 - すべてのウィンドウを「OK」で閉じ、コマンドプロンプトを再起動して
git --versionを確認します。
macOS/Linuxの場合:
ターミナルで以下のコマンドを実行し、Gitのパスが通っているか確認します。
which git
パスが表示されない場合は、インストール方法を見直すか、シェルの設定ファイル(.bashrc, .zshrc等)にパスを追加する必要があります。
手順3: SD WebUIの再起動と設定確認
GitのインストールとPATH設定が完了したら、SD WebUIを完全に終了し、再起動してください。 実行中のWebUIプロセスは古い環境変数を保持しているため、再起動が必要です。
また、webui-user.bat(Windows)またはwebui-user.sh(macOS/Linux)をテキストエディタで開き、特にset COMMANDLINE_ARGS=の行にGitに関連する設定(例: プロキシ設定)を追加する必要は通常ありませんが、他の問題を疑う場合はこのファイルの内容も確認してください。
手順4: 手動クローンによる代替インストール(最終手段)
上記すべてを試しても解決しない、または緊急に拡張機能をインストールしたい場合は、手動でGitクローンを行う方法があります。
- インストールしたい拡張機能のGitHubリポジトリURLをコピーします(Extensionsタブの「Install from URL」欄に表示されるURL)。
- SD WebUIの拡張機能フォルダ(通常は
[SD WebUIインストールフォルダ]extensions)に移動します。 - そのフォルダ内でコマンドプロンプトやターミナルを開き、以下のコマンドを実行します。
git clone [リポジトリURL]
例: git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui-wildcards.git
4. クローンが成功したら、SD WebUIを再起動します。Installedタブに拡張機能が表示され、有効化できるはずです。
コード例・コマンド例
状況確認のためのコマンド例
# Gitのインストール確認
git --version
# Gitのインストール場所確認 (Windows: where, macOS/Linux: which)
where git # Windows
which git # macOS/Linux
# 現在のPATHを表示 (問題診断用)
echo %PATH% # Windowsコマンドプロンプト
echo $PATH # macOS/Linux bash/zsh
手動インストール時の具体的な操作例
「sd-webui-controlnet」拡張機能を手動インストールする場合:
# 1. SD WebUIのextensionsフォルダに移動
cd C:stable-diffusion-webuiextensions
# 2. リポジトリをクローン
git clone https://github.com/Mikubill/sd-webui-controlnet.git
# 3. クローン後、フォルダが作成されていることを確認
dir # Windows
ls -la # macOS/Linux
まとめ・補足情報
SD WebUIの拡張機能インストール時のgitエラーは、根本的には「SD WebUIのプロセスからgitコマンドを実行できる環境が整っていない」という一点に起因します。本記事で紹介した解決手順のほとんどは、この環境を整えるための作業です。GitのインストールとシステムPATHへの登録は、SD WebUIに限らず多くの開発ツールを使用する上での基本事項となります。
補足ポイント:
- プロキシ環境下での注意点: 企業内ネットワークなどでは、
git config --global http.proxy [プロキシサーバーアドレス]の設定が必要な場合があります。 - 「fatal: not a git repository」エラー: このエラーが発生する場合は、拡張機能フォルダ内で誤って
gitコマンドを実行している、または既存の拡張機能フォルダが壊れている可能性があります。該当する拡張機能のフォルダを削除し、再度インストールを試みてください。 - バックアップの重要性: 拡張機能を手動で操作する前には、
extensionsフォルダやwebui-user.batファイルのバックアップを取る習慣をつけると安心です。 - コミュニティの活用: それでも問題が解決しない場合は、SD WebUIの公式GitHubリポジトリのIssuesや、日本語のユーザーコミュニティ(フォーラムやDiscordサーバー)で、具体的なエラーメッセージと状況を提示して質問すると、より詳細な助言が得られるでしょう。
環境設定が一度完了すれば、以降はExtensionsタブからワンクリックで多様な拡張機能を追加できるようになります。この問題を乗り越えることで、ControlNet、LoRA、各種画像処理機能など、Stable Diffusionの可能性を大きく広げる第一歩を踏み出せます。