Что означает ошибка zsh: command not found
Ошибка zsh: command not found (иногда с номером 127) появляется, когда оболочка Zsh не может найти исполняемый файл указанной команды ни в одной из директорий, перечисленных в переменной окружения PATH. Полный текст обычно выглядит так:
zsh: command not found: <имя_команды>
Это происходит при вводе команды в терминале, и она блокирует выполнение любых скриптов или интерактивных действий, требующих этой утилиты.
Причины возникновения
- Команда не установлена — соответствующего пакета нет в системе.
- Директория с исполняемым файлом отсутствует в
PATH— команда установлена, но Zsh не знает, где её искать (например, программы из/snap/binили/usr/local/bin). - Опечатка в названии команды — например,
gtiвместоgit. - Конфликт алиасов или функций — алиас с таким же именем содержит ошибку или перенаправляет на несуществующий файл.
- Повреждение или отсутствие конфигурационных файлов Zsh (например,
~/.zshrc), где задаётсяPATH. - Команда установлена, но для другой архитектуры (например, 32-битный бинарник на 64-битной системе без поддержки).
Способ 1: Проверьте, установлена ли команда
Убедитесь, что команда вообще присутствует в системе. Используйте утилиты which, type или command -v:
which git
type python3
command -v docker
Если команда не найдена, ищите пакет, её предоставляющий:
- Для Ubuntu/Debian:
apt search <часть_имени_команды> - Для Fedora:
dnf search <часть_имени_команды> - Для Arch Linux:
pacman -Ss <часть_имени_команды>
Способ 2: Проверьте и исправьте переменную PATH
Посмотрите текущий PATH:
echo $PATH
Вывод — список директорий через двоеточие. Убедитесь, что в нём есть путь к исполняемым файлам вашей команды (например, /usr/bin, /usr/local/bin, /snap/bin). Если нужной директории нет:
- Откройте
~/.zshrcв редакторе (например,nano ~/.zshrc). - Найдите строку с
export PATH=.... Если её нет, добавьте в конец файла:export PATH=$PATH:/дополнительная/директория
Например, для Snap-пакетов:export PATH=$PATH:/snap/bin - Сохраните файл и выполните
source ~/.zshrcили перезапустите терминал.
Способ 3: Установите недостающую команду
Если команда не установлена, установите её через менеджер пакетов. Примеры:
- Установка Git на Ubuntu/Debian:
sudo apt update sudo apt install git - Установка Docker на Fedora:
sudo dnf install docker - Установка Python на Arch Linux:
sudo pacman -S python
После установки проверьте, появилась ли команда: which git.
Способ 4: Проверьте алиасы и функции
Иногда алиас или функция с именем команды может быть определён с ошибкой. Просмотрите список:
alias
functions
Если видите алиас для проблемной команды (например, alias gti='gut'), удалите его из ~/.zshrc или исправьте. Для временного отключения алиаса используйте обратный слеш: \gti.
Способ 5: Перезагрузите оболочку или откройте новый терминал
Иногда изменения в PATH или установка пакетов требуют перезапуска Zsh. Выполните:
exec zsh
или просто закройте и откройте новое окно терминала.
Профилактика
- Регулярно обновляйте
PATHпри установке программ в нестандартные директории (например, черезpip install --userилиcargo install). - Используйте менеджеры пакетов вместо ручной установки бинарников, чтобы автоматически настраивать
PATH. - Проверяйте
~/.zshrcна наличие опечаток или конфликтующих настроек. - Сравнивайте
PATHв Zsh и bash (echo $PATHв каждой), если команда работает в одной оболочке, но не в другой. - Избегайте глобальных алиасов с именами стандартных утилит, если не уверены в их корректности.