Как исправить “Command not found” на Mac OS с bash/zsh
Из-за чего происходит данная ошибка и как сделать так, как чтобы раз и навсегда ее исправить.
Немного теории. Когда вы устанавливаете какое-то ПО, например envoy или php, то чтобы его запустить из терминала, вы должны указать путь к исполняемому файлу, например “/Users/romanshkabko/.composer/vendor/bin/envoy”. Если вводите в терминале команду, например “envoy” или “php”, то ваш терминал не знает что envoy это /Users/romanshkabko/.composer/vendor/bin/envoy и вы получите ошибки, в зависимости от команды:
- zsh: command not found: envoy
- zsh: command not found: php
- zsh: command not found: composer
- zsh: command not found: brew
Как исправить “Command not found”
Укажите новую директорию, чтобы терминал искал исполняемые файлы в ней. Директория зависит от программы. Ниже указано какие именно пути нужно указывать для распространенного ПО.
export PATH="/opt/homebrew/bin:$PATH"
Проблема заключается в том, что если вы откроете новый терминал, то вам нужно будет указать данные пути заново, что не удобно.
Как раз и навсегда исправить “Command not found”
Чтобы решить данную задачу, нам нужно добавить данные команды в “автозапуск” терминала (command line shell). Есть 2 command line shell: bash и zsh. Узнать какой именно у вас можно по ответу, который идет перед “command not found” или по вызову переменных, которые показывают версию command line shell: echo $ZSH_VERSION или echo $BASH_VERSION.
(img)
Если у вас zsh
Открываем или создаем файл ~/.zshrc
Если у вас bash
Открываем или создаем файл ~/.bash_rc
В файле размещаем нужные нам переменные, например
export PATH="$HOME/.composer/vendor/bin:$PATH"
export PATH="/opt/homebrew/bin:$PATH"
export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"
Если файла нет - создайте его!
Популярные команды
zsh: command not found: brew
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
zsh: command not found: envoy
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zshrc
zsh: command not found: php
echo 'export PATH="/opt/homebrew/opt/php/bin:$PATH"' >> ~/.zshrc
Совет
Если вам часто необходимо переключать версии ПО, например менять версии php, комментируйте старые версии.