FLAMIX.SOFTWARE

Как исправить “Command not found” на Mac OS с bash/zsh

Из-за чего происходит данная ошибка и как сделать так, как чтобы раз и навсегда ее исправить.

— На основе оценок 3 человек

Немного теории. Когда вы устанавливаете какое-то ПО, например 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, комментируйте старые версии.




© Copyright 2009 - 2024. Программирование и верстка руками и с умом. ИТ-аутсорс для СНГ.