Как исправить ошибку 'patch' is not recognized as an internal or external command на Windows

В процессе разработки может понадобиться применить патч к файлу. Например частая практика применять патч при помощи composer. Однако в Windows такой утилиты по умолчанию нет, и в таком случае composer отобразит ошибку 'patch' is not recognized as an internal or external command на Windows. Это значит, что в Windows не найден исполняемый файл (программа) patch.

Чтобы это исправить, для начала нужно удостовериться что у на Windows установлен официальный клиент Git. Скачать его можно с официального сайта или используя встроенную утилиту winget в powershell:

winget install --id Git.Git -e --source winget

Затем нужно перейти в директорию утилит git и удостовериться что там есть файл patch.exe

C:\Program Files\Git\usr\bin\patch.exe

Отлично, программа для работы с патчами у нас есть. Теперь необходимо прописать в среде Windows путь к каталогу утилит Git чтобы программу "patch.exe" можно было вызвать в Powershell. Для этого в строке Выполнить Windows напишите sysdm.cpl, в появившемся окне выберите Дополнительно и внизу нажмите кнопку Переменные среды

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

Затем в секции Системные переменные в нижней части окна найдите переменную Path и нажмите Изменить.

Переменная Path windows

В новом окне нажмите кнопку Создать и добавьте путь к папке с утилитами Git. У меня это "C:\Program Files\Git\usr\bin\"

Новая переменная windows

Сохраните изменения. Запустите новое окно Powershell и проверьте доступна ли команда patch

patch -v

Если все сделано правильно, должно появиться сообщение:

GNU patch 2.7.6
Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.
Copyright (C) 1988 Larry Wall

 

Категория