Ошибка «Имя winget не распознано» в PowerShell или командной строке

Чтобы установить бесплатное приложение, необязательно загружать его с сайта разработчика или искать в сторонних каталогах. Проще и быстрее воспользоваться winget — встроенным в Windows менеджером пакетов, который загружает и устанавливает приложения напрямую из открытого репозитория. Для установки программного обеспечения используется команда winget install "название приложения" — процесс частично автоматизирован.

В большинстве случаев после запуска установщика требуется ручное подтверждение. Однако может случиться и так, что команда вернёт ошибку: «Имя winget не распознано как имя командлета, функции, файла сценария или выполняемой программы».

Имя winget не распознано как имя командлета, функции, файла сценария или выполняемой программы

Это сообщение указывает на то, что Windows не может обнаружить утилиту winget.

Причиной может быть её отсутствие в системе, устаревшая версия или то, что путь к ней не добавлен в переменную окружения PATH. Возможна и банальная опечатка, хотя это менее вероятный сценарий — нужно приложить немало усилий, чтобы ошибиться при вводе всего шести символов. Куда вероятнее, что дело в другом: например, в отключении псевдонимов приложения в настройках.

Практические решения

Первым делом откройте приложение «Параметры» и перейдите в раздел «Приложения»«Псевдонимы выполнения приложения».

Приложения

И убедитесь, что опции Windows Package Manager Client и WinGet COM Server активны.

Псевдонимы выполнения приложения

Отсутствие этих пунктов указывает на то, что Winget не установлен в вашей системе.

Возможно, он был удален либо вы используете старую версию Windows или сборку, из которой он был вырезан.

В этом случае установите его из Магазина Windows вручную либо командой irm aka.ms/getwinget | iex в PowerShell.

PowerShell

Если приложение уже установлено, добавьте winget.exe в системную переменную PATH.

Исполняемый файл диспетчера находится в папке WindowsApps, доступ к содержимому которой возможен лишь после изменения прав — шаг, к которому не стоит прибегать без веской причины.

Впрочем, в этом и нет необходимости: полный путь к исполняемому файлу можно узнать с помощью любой утилиты для поиска, например, MasterSeeker.

MasterSeeker

После чего откройте оснастку «Переменные среды» командой rundll32 sysdm.cpl,EditEnvironmentVariables.

EditEnvironmentVariables

В блоке «Системные переменные» нажмите «Создать».

Переменные среды

Имя переменной дайте winget, а в качестве ее значение укажите полный путь к исполняемому файлу winget.exe.

Системные переменные

Обратите внимание, что команду rundll32 sysdm.cpl,EditEnvironmentVariables нужно выполнять с правами администратора, иначе кнопка «Создать» в оснастке «Переменные среды» будет неактивна.

Дополнительные решения

Нельзя также исключать, что ошибка вызвана повреждением отвечающих за работу Winget системных файлов.

Решается проблема с помощью встроенных утилит dism и sfc, точнее двух команд:

  • dism /online /cleanup-image /restorehealth
  • sfc /scannow

Выполняются они последовательно – сначала первая, затем вторая.

Можно также использовать точки восстановления, но это в том случае, если Winget раньше работала, а потом перестала.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *