Я пытался установить MacPorts. Я добавил следующую строку в мой .zshrc :

export PATH=/opt/local/bin/port:$PATH

затем, когда я набираю команду port я получаю это:

sudo: port: command not found

Но когда я пытаюсь использовать MacPorts, вызывая его прямо из файла, он работает:

$ /opt/local/bin/port
MacPorts 2.3.4
Entering interactive mode... ("help" for help, "quit" to quit)
[Users/tom] > 

Когда я набираю эту команду, echo $PATH это то, что я получаю:

/opt/local/bin/port:/usr/local/mysql/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

Что не так, как решить эту проблему?

Заранее спасибо.

PS: у меня возникла такая же проблема, когда я пытался установить git с Homebrew. Это работает только тогда, когда я пишу весь путь (/usr/local/Cellar/git/2.9.3/bin/git), в противном случае, несмотря на попытку установить правильную переменную $ PATH, она использует более старую версию git (которая уже была установлен на моем компьютере).

1 ответ1

1

Вам необходимо добавить «путь» к переменной PATH, а не к файлу. Другими словами, вам нужно добавить путь к каталогу, который содержит исполняемый файл, а не путь к исполняемому файлу. Так что вместо:

export PATH=/opt/local/bin/port:$PATH

сделай это:

export PATH=/opt/local/bin/:$PATH

После того, как вы изменили файл .zshrc, вам необходимо перезагрузить файл, используя его или открыв новую оболочку, чтобы настройки вступили в силу.

Кстати, у zsh есть хороший альтернативный синтаксис для добавления переменных окружения. Вместо приведенного выше утверждения вы можете сделать:

export PATH+=('/opt/local/bin/')

Чтобы помочь отладить проблему, вы можете изменить переменную PATH и другие переменные окружения непосредственно в командной строке, чтобы убедиться, что у вас правильный синтаксис / путь; эти настройки не сохраняются и применяются только к текущей оболочке. После того, как вы правильно разработали синтаксис, вы можете добавить их в файл .zshrc.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .