Ошибка «choco не является внутренней или внешней командой, исполняемой программой или пакетным файлом» появляется в командной строке, когда Windows не может найти исполняемый файл choco.exe — менеджера пакетов Chocolatey. Чаще всего причина одна из двух: Chocolatey вообще не установлен на компьютере, либо путь к нему отсутствует в системной переменной окружения PATH, и терминал попросту не знает, где искать команду.
Хорошая новость в том, что проблема решается за несколько минут без переустановки системы. Ниже разберём диагностику, способы восстановления PATH, чистую установку Chocolatey и типичные ошибки, из-за которых команда перестаёт работать даже после успешной инсталляции.
Почему возникает ошибка: основные причины
Командная строка Windows ищет исполняемые файлы в каталогах, перечисленных в переменной PATH. Если choco.exe нет ни в одном из них, система выдаёт именно это сообщение. Конкретных сценариев несколько:
- 📦 Chocolatey не установлен — команда вводится на машине, где пакетный менеджер никогда не ставился.
- 🛠️ Установка прервана — скрипт инсталляции завершился с ошибкой, файлы не скопировались полностью.
- 🔄 Терминал не перезапущен — PATH обновился, но текущее окно CMD или PowerShell использует старые переменные окружения.
- 🗑️ Запись в PATH удалена — сторонний «очиститель» системы или ручное редактирование переменных убрало путь к Chocolatey.
Отдельный случай — запуск команды в среде, где PATH урезан намеренно: например, в некоторых скриптах сборки или при вызове из планировщика задач с нестандартным окружением. Там команда может работать в обычном терминале, но «не находиться» в автоматизированном сценарии.
Шаг 1. Проверяем, установлен ли Chocolatey
Прежде чем править переменные окружения, убедитесь, что файлы Chocolatey вообще присутствуют на диске. По умолчанию пакетный менеджер устанавливается в каталог C:\ProgramData\chocolatey. Откройте проводник или выполните в терминале простую проверку:
dir C:\ProgramData\chocolatey\bin\choco.exe
Если файл найден — Chocolatey установлен, и проблема сводится к переменной PATH. Если система отвечает «файл не найден», потребуется установка или переустановка, о чём ниже. Обратите внимание: каталог ProgramData по умолчанию скрытый, при ручном поиске через проводник включите отображение скрытых элементов.
Шаг 2. Перезапуск терминала и проверка PATH
Самая частая ситуация у тех, кто только что установил Chocolatey: установщик прописал путь в PATH, но открытое окно командной строки продолжает использовать старую копию переменных. Закройте все окна CMD, PowerShell и Windows Terminal, затем откройте терминал заново и повторите команду choco --version.
Если перезапуск не помог, проверьте содержимое PATH вручную:
echo %PATH%
В выводе должна присутствовать строка вида C:\ProgramData\chocolatey\bin. Отсутствие этой записи означает, что путь нужно добавить вручную через системные настройки.
Шаг 3. Добавляем путь к Chocolatey в PATH вручную
Ручное редактирование переменной окружения — безопасная операция, если действовать аккуратно и не удалять существующие записи. Порядок действий для Windows 10 и 11 одинаковый:
- ⚙️ Нажмите
Win + R, введитеsysdm.cplи откройте вкладку «Дополнительно». - 📝 Нажмите кнопку «Переменные среды» в нижней части окна.
- 📂 В разделе «Системные переменные» найдите Path, выделите его и нажмите «Изменить».
- ➕ Добавьте новую строку
C:\ProgramData\chocolatey\binи подтвердите все окна кнопкой «ОК».
После сохранения обязательно закройте и заново откройте терминал — только тогда изменения подхватятся. Проверьте результат командой choco --version: если выводится номер версии, проблема решена.
☑️ Проверка после правки PATH
⚠️ Внимание: редактируя переменную Path, не удаляйте и не изменяйте существующие записи. Случайное удаление системных путей может нарушить работу других программ и самой Windows. Добавляйте только новую строку через кнопку «Создать».
Шаг 4. Чистая установка Chocolatey
Если каталога C:\ProgramData\chocolatey нет или установка повреждена, выполните установку заново. Официальный способ — запуск скрипта в PowerShell от имени администратора. Откройте PowerShell с повышенными правами и выполните:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Скрипт скачает и развернёт Chocolatey, а также автоматически пропишет путь в PATH. По завершении закройте окно PowerShell, откройте новое и проверьте choco --version. Команда установки взята с официального сайта проекта; перед запуском имеет смысл сверить её актуальность с документацией Chocolatey, так как параметры скрипта могут обновляться.
⚠️ Внимание: установка обязательно требует прав администратора. Если запустить скрипт в обычном окне PowerShell, часть файлов не скопируется, переменные не пропишутся — и вы получите ту же ошибку «не является внутренней или внешней командой» после, казалось бы, успешной установки.
Сравнение способов решения
Чтобы выбрать подходящий вариант, ориентируйтесь на результаты диагностики из первых шагов:
| Ситуация | Решение | Сложность |
|---|---|---|
| Chocolatey установлен, терминал открыт до установки | Перезапуск терминала | Минимальная |
| Файлы есть, пути в PATH нет | Ручное добавление в Path | Низкая |
| Каталог chocolatey отсутствует | Установка через PowerShell | Средняя |
| Установка повреждена | Удаление каталога и чистая установка | Средняя |
| Ошибка только в скриптах/планировщике | Полный путь к choco.exe в скрипте | Низкая |
Для скриптов и планировщика задач надёжнее всего указывать полный путь к исполняемому файлу: C:\ProgramData\chocolatey\bin\choco.exe — тогда команда не зависит от того, какое окружение получает процесс.
Типичные ошибки, которые мешают решению
Несколько распространённых промахов, из-за которых ошибка возвращается снова и снова:
- 🚫 Проверка команды в том же окне терминала, где выполнялась установка, — переменные окружения не обновляются в уже запущенном процессе.
- 🔀 Добавление пути в пользовательскую переменную Path вместо системной при работе из-под другой учётной записи.
- ✏️ Опечатка в пути: например,
chocolatelyвместоchocolateyили пропущенный подкаталогbin. - 🛡️ Блокировка установщика антивирусом — файлы частично не распаковались, хотя сообщений об ошибке не было.
Как полностью удалить повреждённую установку
Остановите все процессы, использующие choco. Удалите каталог C:\ProgramData\chocolatey вручную через проводник или командой rmdir /s /q. Затем откройте переменные среды и уберите из Path строку, ведущую к chocolatey\bin, если она осталась. После этого выполните чистую установку по инструкции из раздела выше.
Как проверить, что всё работает
Финальная проверка занимает меньше минуты. Откройте новое окно PowerShell или CMD и последовательно выполните две команды:
choco --version
choco list --local-only
Первая команда должна вывести номер версии Chocolatey, вторая — список установленных через него пакетов (возможно, пустой на свежей системе). Если обе команды выполняются без ошибок, пакетный менеджер полностью работоспособен, и можно устанавливать нужные программы, например choco install 7zip.
Частые вопросы
Можно ли установить Chocolatey без прав администратора?
Стандартная установка требует прав администратора, так как записывает файлы в ProgramData и меняет системные переменные. Существуют обходные сценарии с установкой в пользовательский каталог, но они не поддерживаются официально и могут работать некорректно.
Почему choco работает в PowerShell, но не работает в CMD?
Обычно это признак того, что окно CMD было открыто до установки или до изменения PATH. Закройте его и откройте заново. Если не помогло — проверьте, что путь добавлен именно в системную переменную Path, а не только в профиль PowerShell.
Ошибка появляется только в планировщике задач. Что делать?
Задачи планировщика могут запускаться с урезанным окружением. Укажите в скрипте полный путь: C:\ProgramData\chocolatey\bin\choco.exe вместо короткой команды choco.
Антивирус удалил choco.exe. Как восстановить?
Добавьте каталог C:\ProgramData\chocolatey в исключения антивируса, затем выполните переустановку Chocolatey по официальной инструкции. Предварительно убедитесь, что установочный скрипт скачан с официального сайта проекта.
Нужно ли перезагружать компьютер после изменения PATH?
Полная перезагрузка не обязательна — достаточно закрыть и заново открыть все окна терминала. Перезагрузка помогает лишь в редких случаях, когда переменные окружения кэшировали фоновые службы или программы, из которых запускается терминал.