zsh: command not found: brew
#Почему команда не найдена
На Mac с процессором Apple (M1, M2, M3 и новее) Homebrew устанавливается в /opt/homebrew, а не в /usr/local, как на Intel. Каталог /opt/homebrew/bin не входит в PATH по умолчанию, поэтому после установки терминал выводит zsh: command not found: brew. Установщик в конце показывает команды, которые нужно выполнить для добавления в PATH — если их пропустить, brew не будет найден. Исправление — одна строка в ~/.zprofile.
#Причины
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| /opt/homebrew не в PATHApple Silicon. | brew не найден. | Добавьте shellenv. |
| Не перезапущен терминалСтарая сессия. | Строка добавлена, но не работает. | Новое окно. |
| Другая оболочкаbash/fish. | Изменён не тот файл. | Правьте файл своей оболочки. |
| Установка прерванаНет интернета. | Каталога нет. | Повторите установку. |
| Нет Command Line ToolsОтсутствуют. | Сбой установщика. | xcode-select --install. |
| Старый Homebrew в /usr/localМиграция с Intel. | Конфликт. | Удалите старый после миграции. |
#Порядок
- Проверьте, установлен ли Homebrew: ls /opt/homebrew/bin/brewНа Mac откройте «Терминал» через Finder → «Программы» → «Утилиты» → «Терминал». Выполните
uname -m:arm64означает Apple Silicon,x86_64— Intel (если Терминал запущен под Rosetta, это нужно отдельно учитывать). Затем проверьте наличие исполняемого файла:ls -l /opt/homebrew/bin/brewдля Apple Silicon или/usr/local/bin/brewдля Intel. Если файл существует, переустанавливать Homebrew не требуется — сначала исправьте путь к команде. - Если файл найден, добавьте Homebrew в PATH командой shellenvЕсли
brewнаходится в/opt/homebrew/bin/brew, выполните в терминалеeval "$(/opt/homebrew/bin/brew shellenv)": это добавит текущему сеансу нужные переменные окружения. Для сохранения на будущее откройтеnano ~/.zprofile, добавьте в конец только один разeval "$(/opt/homebrew/bin/brew shellenv)", сохраните Ctrl+O → Enter → Ctrl+X. На Intel используйте/usr/local/bin/brewвместо/opt/homebrew/bin/brew. Перед изменением сделайте копию профиля. - Выберите способ в командной строке или терминалеЕсли предыдущие действия не помогли, прочитайте назначение каждого варианта ниже. Не выполняйте их все подряд: выбирайте только соответствующий вашей ситуации.
- Проверьте командой brew --version и which brewВ новом Терминале выполните
brew --versionиcommand -v brew. Если показаны версия и абсолютный путь, команда доступна; для arm64 нативный Homebrew обычно находится под/opt/homebrew. Еслиbrew --versionработает, но IDE или программа по-прежнему не видит его, проверьте, как эта программа наследует переменнуюPATH, и перезапустите именно её. - Выполните brew doctor и устраните предупрежденияПосле восстановления команды выполните
brew doctorи прочитайте предупреждения. Инструмент может указывать на устаревшую версию Command Line Tools, несовместимые права или несколько установок Homebrew. Не выполняйте автоматически все предложенные команды сsudo: сначала выясните их последствия и сохраните настройки. Отсутствие предупреждений — полезный признак, но не обязательное условие для работы каждой команды brew. - Если файла нет, установите Homebrew официальным скриптом сТолько если исполняемого файла нет в ожидаемых каталогах, откройте официальный сайт
https://brew.sh/, ознакомьтесь с актуальной командой установки и требованиями. Проверьте адрес страницы и сам установочный сценарий перед выполнением — он меняет локальную конфигурацию и может запросить пароль администратора. После установки следуйте точным указаниям установщика о добавленииbrew shellenvвPATH, а не копируйте старую инструкцию для чужой архитектуры. - Если вы используете bash или fish, добавьте строку в соответствующий файлЕсли вы используете bash, а не стандартную zsh, проверьте
echo $SHELLи добавьте нужную строкуeval "$(.../brew shellenv)"в~/.bash_profileдля логин-сеанса. Для fish Homebrew предлагает иной синтаксис (fish_add_path/brew shellenvдля fish), поэтому используйте официальную инструкцию под эту оболочку, а не строку из zsh. Откройте новую сессию, затем проверьтеcommand -v brew. - Установите Xcode Command Line Tools, если их нетЕсли установщик Homebrew сообщает, что отсутствуют инструменты разработчика, в Терминале выполните
xcode-select --install. В появившемся системном окне подтвердите установку и дождитесь её завершения; затем проверьтеxcode-select -p. Если система отвечает, что инструменты уже установлены, не удаляйте их папку ради повторной установки: сначала проверьте активный путь и обновления macOS.
#После исправления
Проверьте, что brew install wget проходит без ошибок и что brew --prefix выводит /opt/homebrew. Если вы мигрировали с Intel-Mac через Time Machine, старый Homebrew в /usr/local работает через Rosetta и может мешать: убедитесь, что в PATH первым стоит /opt/homebrew/bin, и переустановите пакеты (brew bundle dump на старой машине и brew bundle на новой).