WindowsでComposerを実行したとき、指定されたパスが見つかりません(The system cannot find the path specified)エラーが出る場合の対処法を説明します。
エラーメッセージの例
> composer update
...
[UnexpectedValueException]
RecursiveDirectoryIterator::__construct(C:\composer\vendor\...):
The system cannot find the path specified. (code: 3)
まずは、下記の手順で不要なレジストリエントリがないか確認します。
レジストリのチェック方法
まず、レジストリエディタを開きます(Windowsキー+Rを押して、regeditと入力します)。
レジストリの中から、下記のレジストリパスをたどってAutoRunの項目を探します。
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Command Processor\AutoRun
もし、上記の値にエラーメッセージに表示されていたパスが記載されていて、かつ、実際に存在しないファイルだったときは、このレジストリエントリを(バックアップを取ったうえで)削除して、再度実行してみます。
Command Processor/AutoRunとは何か?
Windowsでコマンドプロンプト(cmd.exe)を実行したとき、起動時に任意のバッチファイルを自動で起動させることができます。自動起動の設定を行っている場合、先ほど確認したCommand Processor/AutoRunのレジストリキーに設定内容が記録されます。
こちらもおススメ