CMD/Powershell は PATH にもかかわらず間違った場所で「curl」実行ファイルを検索します

CMD/Powershell は PATH にもかかわらず間違った場所で「curl」実行ファイルを検索します

Windows 10 の CMD と Powershell の両方で奇妙な問題が発生し、困っています。無関係なスクリプトが実行中に失敗しcurl、調査したところ、CMD と Powershell の問題のようです。

CMD で実行するとcurl、次のエラーが発生します。

C:\Users\****>curl
Cannot find file at '..\\lib\curl\tools\curl-8.6.0_1-win64-mingw\bin\curl.exe' (C:\WINDOWS\lib\curl\tools\curl-8.6.0_1-win64-mingw\bin\curl.exe). This usually indicates a missing or moved file.

PowerShell でも同じことが起こりますが、その場合はcurl.exe(plain curlaliases to Invoke-WebRequest) と記述する必要があります。

このパスは存在しません。PATH (またはその他の環境変数) にも存在せず、CMD/Powershell がなぜそこを探そうとしているのかわかりません。PATH の先頭に(実際の場所)curlを入れてみましたが、うまくいきませんでした。C:\Windows\System32curl

紛らわしいことに、where問題なく動作し、何もおかしなことは表示されません。

C:\Users\****>where curl
C:\Windows\System32\curl.exe

ご協力いただければ幸いです。さらに情報を提供する必要がある場合はお知らせください。

答え1

コメントで指摘されているように、確かに curl は正しい場所で実行されていますが、実行ファイルは Chocolatey シムであり、別のものに委ねようとします。

curl何らかの理由で、別の問題を解決するために、内部をそのような .exe に手動で置き換えていましたSystem32(馬鹿げたことに聞こえるかもしれませんが、わかっています)。実際の実行可能ファイルに再度置き換えたところcurl、今では完璧に動作します。

関連情報