macOS: zsh — command not found

  • Обновлено
  • Чтение ≈ 4 минуты

Краткий ответ

Ошибка zsh: command not found означает, что команды нет в PATH или она не установлена. Проверьте which и echo $PATH, добавьте каталог в ~/.zprofile или ~/.zshrc, установите программу через Homebrew и перезапустите терминал.

В этой статье
  1. Что значит
  2. Причины по ситуации
  3. Диагностика
command not found
zsh: command not found: имя
По-русскиОболочка не нашла исполняемый файл в каталогах из переменной PATH.

#Что значит

Оболочка ищет команду в каталогах, перечисленных в переменной PATH. Если команды в них нет, выдаётся command not found. Причин три: программа не установлена; установлена, но её каталог не добавлен в PATH; в имени ошибка или другая регистр (macOS различает регистр в командах). На Apple Silicon типичный случай: brew или установленная им программа не находятся, пока в профиль не добавлена строка с brew shellenv.

#Причины по ситуации

Возможная причинаКак узнатьЧто делать
Homebrew не в PATHApple Silicon использует /opt/homebrew/bin.brew: command not found.Добавьте brew shellenv в ~/.zprofile.
Не установлена программаНет в системе.which пусто.brew install или установщик с сайта разработчика.
Установка без перезапуска терминалаPATH обновляется при запуске оболочки.Команда не видна в старом окне.Откройте новое окно.
nvm, pyenv, rbenvМенеджеры версий не инициализированы.Команда пропадает.Добавьте инициализацию в ~/.zshrc по их инструкции.
Переменная PATH перезаписанаВ профиле export PATH=... без $PATH.Пропали стандартные команды (ls, cat).Исправьте на export PATH="новый:$PATH".
Кириллица в имени или символКопирование из документа.Команда с «умными» кавычками или дефисом.Вводите вручную простые символы.

#Диагностика

  1. Проверьте написаниеЕсли Терминал сообщает zsh: command not found: ..., скопируйте точное имя команды и убедитесь, что оно написано без лишних пробелов, кавычек и неправильного регистра. В macOS многие команды чувствительны к регистру; Node и node различаются. Проверьте, не вставили ли вы текст приглашения терминала $ или условное имя из примера — их вводить не нужно.
  2. Проверьте, где командаОткройте «Терминал» → введите command -v node (замените node фактической командой). Если программа найдена, вы увидите путь к исполняемому файлу; если вывода нет, команда отсутствует в текущем PATH. Дополнительно можно выполнить type -a node, чтобы увидеть несколько установок. Не устанавливайте второй экземпляр программы прежде, чем выясните наличие первого.
  3. Поищите файлЕсли программа установлена, но оболочка её не находит, выясните каталог через Finder → «Программы» или штатную команду установленного менеджера пакетов (brew list --versions node, если Homebrew работает). Для известных системных префиксов допустимо проверить конкретный файл ls -l /opt/homebrew/bin/node /usr/local/bin/node 2>/dev/null. Не запускайте рекурсивный find по всему диску без необходимости и не скачивайте исполняемые файлы из поисковой выдачи.
  4. Посмотрите PATHВ том же терминале выполните printf "%s\n" "$PATH" | tr ':' '\n'. Сравните список каталогов с фактическим местом исполняемого файла. На Apple Silicon Homebrew обычно использует /opt/homebrew/bin, на Intel — /usr/local/bin; оболочка может иметь другой путь при входе по SSH или из редактора. Если нужный каталог отсутствует, переходите к его настройке, а не изменяйте права на файл.
  5. Добавьте каталог в профильДля Homebrew на Apple Silicon при существующем файле /opt/homebrew/bin/brew откройте nano ~/.zprofile, добавьте один раз eval "$(/opt/homebrew/bin/brew shellenv)", сохраните Ctrl+O → Enter → Ctrl+X. Для личного каталога $HOME/.local/bin при необходимости добавьте export PATH="$HOME/.local/bin:$PATH" в ~/.zshrc. Это разные сценарии, выбирайте только соответствующий настоящей установке. Сделайте копию профиля перед изменением.
  6. Выберите способ в командной строке или терминалеЕсли предыдущие действия не помогли, прочитайте назначение каждого варианта ниже. Не выполняйте их все подряд: выбирайте только соответствующий вашей ситуации.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Список каталогов PATH по строкам и поиск команды
    Linux · Терминал (Bash)Команда
    Список каталогов PATH по строкам и поиск команды
    echo $PATH | tr ':' '\n'
    which -a python3 node brew
    type -a git
    Вариант 2Не записывайте строки в профиль повторно автоматически
    Linux · Терминал (Bash)Команда
    Не записывайте строки в профиль повторно автоматически
    # Apple Silicon: выполнять только если установлен файл /opt/homebrew/bin/brew
    # Добавьте ОДИН РАЗ в ~/.zprofile: eval "$(/opt/homebrew/bin/brew shellenv)"
    # После нового терминала: command -v brew
    Вариант 3Добавить свой каталог в PATH (пример: ~/.local/bin) и применить
    Linux · Терминал (Bash)Команда
    Добавить свой каталог в PATH (пример: ~/.local/bin) и применить
    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    Вариант 4Исключена буквальная команда brew info имя
    Linux · Терминал (Bash)Команда
    Исключена буквальная команда brew info имя
    # Пример: реальный пакет зависит от сообщения об ошибке
    brew info node
    # Имя подберите по официальной документации; не вводите слово "имя" буквально
    Вариант 5Найти исполняемые файлы по имени
    Linux · Терминал (Bash)Команда
    Найти исполняемые файлы по имени
    mdfind -name node | head
    find /opt/homebrew /usr/local ~/.local -name "node" -type f 2>/dev/null | head
  7. Установите программу, если её нетЕсли программы действительно нет, откройте её официальный сайт или при настроенном Homebrew найдите формулу brew info node и только затем выполните brew install node, если это именно нужный пакет. После установки проверьте command -v node и node --version. Не вводите буквально brew install имя: имя — обозначение для вашего реального пакета, а не существующее название.

Если PATH стал пустым и даже ls не работает, временно вызовите команды полным путём (/bin/ls) или выполните export PATH=/usr/bin:/bin:/usr/sbin:/sbin, затем исправьте файл профиля. Проверьте также, нет ли команды, объявленной алиасом или функцией: type имя покажет это.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.