У меня странная проблема с CMD и Powershell на Windows 10, которая доставляет мне некоторые неприятности. Несвязанный скрипт не работал при запуске curl
, и после некоторого расследования это выглядит как проблема CMD и Powershell.
При запуске curl
в CMD возникает следующая ошибка:
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
(простые curl
псевдонимы для Invoke-WebRequest
).
Этот путь не существует. Его нет в PATH (или любой другой переменной среды), и я не могу понять, почему CMD/Powershell пытается его curl
там искать. Я пробовал поместить C:\Windows\System32
(где curl
на самом деле находится) в начало PATH, но это не сработало.
Как ни странно, where
работает отлично и не показывает ничего странного:
C:\Users\****>where curl
C:\Windows\System32\curl.exe
Любая помощь будет оценена по достоинству. Сообщите мне, если понадобится дополнительная информация.
решение1
Как указано в комментариях, curl действительно запущен в правильном месте, но исполняемый файл представляет собой Chocolatey-прокладку, которая пытается обратиться к другой прокладке.
По какой-то причине я вручную заменил curl
внутреннюю часть System32
на такой .exe, чтобы решить другую проблему (что так же глупо, как это звучит, я знаю). Я снова заменил его на настоящий curl
исполняемый файл, и теперь он работает отлично.