Кажется, все об этом уже обсуждалось, но я не могу решить свою проблему. У меня есть все необходимые строки в /etc /paths

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

в ~/.bash_profile

export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:$HOME/.rvm/bin
export PATH="$(brew --prefix php54)/bin:$PATH"
export PATH="$(brew --prefix)/bin:$PATH"

Но каждый раз, когда я выполняю

echo $PATH

в терминале получаю только

/usr/local/bin

если я помещу строки .bash_profile в .profile или .bashrc, я не получу никакого эффекта.

4 ответа4

2

Сначала PATH создается из /etc /paths, затем из файлов в /etc/paths.d, а затем из .bash_profile. Начиная с последнего шага, методично удалите каждый шаг и проверьте, не воссоздана ли проблема.

  1. Закомментируйте каждую строку в .bash_profile и сохраните (или вы можете удалить / переименовать ее).
  2. Закройте свой терминал и перезапустите его, чтобы восстановить свой путь.
  3. echo $ PATH. Он должен содержать все из / etc / paths.

Если все из /etc /paths включено, то ваша проблема заключается в вашем .bash_profile. Раскомментируйте одну строку за раз, пока не воссоздаете проблему. Тогда вы будете знать, какая линия является вашей проблемой, и сможете устранить эту проблему, а не неопределенную проблему PATH.

В качестве альтернативы, если удаление .bash_profile не имеет никакого эффекта, у вас есть проблема, возникающая до того, как .bash_profile действует. Проверьте файлы в /etc/paths.d - они также добавляются в ваш PATH. Переместите их из paths.d и затем проверьте, правильно ли ваш PATH составлен из /etc /paths.

Похоже , что многие люди имеют некоторые проблемы с РВМ, так как в этой должности, и этот пост, поэтому я предполагаю , что проблема заключается в вашем .bash_profile. Удачи и дайте нам знать.

0

В значении PATH могут быть пробелы, которые могут вызывать проблемы с ним. Попробуйте поместить его в кавычки:

export PATH="$PATH:/usr/local/mysql/bin"
export PATH="$PATH:$HOME/.rvm/bin"
export PATH="$(brew --prefix php54)/bin:$PATH"
export PATH="$(brew --prefix)/bin:$PATH"

Хотя это вряд ли с экспортом. Возможно скрипт разбирается по-другому.

0

Сделайте это в оболочке:

$ source ~/.bashrc

Это делает текущий сеанс осведомленным об изменении.

0

Попробуйте поместить $PATH в конец строки. В моем .bash_profile то, как у меня есть, и он отлично работает.

export PATH="/usr/local/mysql/bin:$PATH"

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