Введение / Зачем это нужно
Переменная PATH в macOS определяет, где терминал ищет исполняемые файлы при вводе команды. Если нужная программа или скрипт лежат вне стандартных каталогов, система ответит command not found. Правильная настройка PATH позволяет запускать утилиты, компиляторы и скрипты по короткому имени из любой папки — без необходимости каждый раз писать полный путь.
Требования / Подготовка
- macOS Monterey 12 или новее (Sonoma, Ventura).
- Доступ к терминалу: приложение Terminal в
/Applications/Utilities/. - Права на редактирование файлов в домашней папке (обычно не требуют sudo).
- Знание пути, который нужно добавить (например,
/opt/homebrew/binили~/my-scripts).
Шаг 1: Узнать текущий PATH и оболочку
Проверьте, какая оболочка используется и как выглядит текущая переменная:
echo $SHELL
echo $PATH
Если путь содержит /bin/zsh, по умолчанию работает zsh. Если /bin/bash — bash. Вывод $PATH покажет существующие каталоги через двоеточие — не удаляйте их при редактировании.
Шаг 2: Открыть файл настроек оболочки
Для zsh (рекомендуется для macOS Monterey и новее):
nano ~/.zshrc
Для bash (если вы переключили оболочку или используете старую версию macOS):
nano ~/.bash_profile
Если файла нет, nano создаст его при сохранении.
Шаг 3: Добавить новый путь в переменную PATH
В конец файла добавьте строку, указав нужный каталог. Чтобы не сломать системные пути, добавляйте новый каталог в начало или конец существующего PATH.
Добавить в начало (команды из этого каталога будут иметь приоритет):
export PATH="/your/custom/path:$PATH"
Добавить в конец (безопаснее для системных команд):
export PATH="$PATH:/your/custom/path"
Пример для пользовательских скриптов:
export PATH="$HOME/my-scripts:$PATH"
Для нескольких путей через двоеточие:
export PATH="/opt/tool/bin:$HOME/bin:$PATH"
Шаг 4: Сохранить и применить изменения
В nano:
- Нажмите
Ctrl+O, затемEnter, чтобы сохранить. - Нажмите
Ctrl+X, чтобы выйти.
Примените изменения без перезапуска терминала:
source ~/.zshrc
или для bash:
source ~/.bash_profile
После этого введите echo $PATH и убедитесь, что новый каталог появился в выводе.
Проверка результата
Убедитесь, что команда из добавленного пути запускается:
which my-command
my-command --version
Если which возвращает ожидаемый путь, а команда выполняется — настройка завершена успешно. Для скриптов убедитесь, что они имеют бит исполнения:
chmod +x ~/my-scripts/my-command
Возможные проблемы
- Ошибка
command not foundпосле правок — скорее всего, вы сохранили файл не в той оболочке. Проверьтеecho $SHELLи убедитесь, что редактируете.zshrcили.bash_profileсоответственно. - Путь добавлен, но скрипт не запускается — добавьте права на исполнение командой
chmod +x /path/to/script. - Исчезли системные команды — вы могли перезаписать PATH целиком. Восстановите стандартные пути:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
и добавляйте свои пути через :$PATH, а не заменяя переменную.