Choco не является внутренней или внешней командой: как исправить ошибку

Ошибка «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. Отсутствие этой записи означает, что путь нужно добавить вручную через системные настройки.

📊 На каком этапе у вас возникла ошибка choco?
Сразу после установки Chocolatey
На чистой системе без установки
После очистки/оптимизации Windows
В скрипте или планировщике задач

Шаг 3. Добавляем путь к Chocolatey в PATH вручную

Ручное редактирование переменной окружения — безопасная операция, если действовать аккуратно и не удалять существующие записи. Порядок действий для Windows 10 и 11 одинаковый:

  • ⚙️ Нажмите Win + R, введите sysdm.cpl и откройте вкладку «Дополнительно».
  • 📝 Нажмите кнопку «Переменные среды» в нижней части окна.
  • 📂 В разделе «Системные переменные» найдите Path, выделите его и нажмите «Изменить».
  • ➕ Добавьте новую строку C:\ProgramData\chocolatey\bin и подтвердите все окна кнопкой «ОК».

После сохранения обязательно закройте и заново откройте терминал — только тогда изменения подхватятся. Проверьте результат командой choco --version: если выводится номер версии, проблема решена.

☑️ Проверка после правки PATH

Выполнено: 0 / 4
⚠️ Внимание: редактируя переменную 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?

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