Как добавить / usr / local / bin в $ PATH на Mac


96

Когда я открываю .profile в терминале, я получаю следующее:

export PATH=$PATH:/usr/local/git/bin 

Теперь я установил node.js для Mac, и он говорит:

Убедитесь, что / usr / local / bin находится в вашем $ PATH.

Как добавить /usr/local/binв экспорт PATH=$PATH:/usr/local/git/bin?


25
Я проголосовал за повторное открытие этого вопроса. Речь идет о Node.js, а также о Git (это инструмент, который используют программисты).
KatieK

9
Да уж. Если не здесь, то где.
bobobobo 08

5
Незначительная информация: я не знаю о более ранних версиях OS X, но, по крайней мере, в Yosemite / usr / local / bin по умолчанию включен в $ PATH. Вы можете проверить, что находится в вашем $ PATH, запустив echo $ PATH.
Росс Хендерсон

Ответы:


108
export PATH=$PATH:/usr/local/git/bin:/usr/local/bin

Одно замечание: вам не нужны здесь кавычки, потому что они находятся справа от задания, но в целом, и особенно на Mac с их традицией пространных имен путей, расширения вроде $PATHдолжны быть заключены в двойные кавычки как "$PATH".


7
Хотя вы можете это сделать, это не способ OS X. Пути в OS X строятся с использованием /usr/libexec/path_helper, вызываемого по умолчанию /etc/profile. Начните с, man path_helperзатем добавьте свои пути в файлы в формате /etc/paths.d. Вы обнаружите, что почти каждый пример установки пути из других ОС включает, $PATHпотому что ни одна из них, похоже, не может взять на себя обязательство быть первой в цепочке ...
Synchro

Я как раз отвечал на вопрос, как добавить несколько каталогов в PATH. Вы также можете создать несколько записей /etc/paths.dили одну запись с несколькими каталогами, по одной в каждой строке, но это не поможет вам в запросе, а просто косвенный способ выполнить то же самое. К тому же, даже если вопрос помечен osx, этот подход имеет то преимущество, что он работает и в Linux, и в других UNIX-подобных системах.
Марк Рид

Проблема, с которой я сталкиваюсь в Linux, заключается в том, что он ужасно непоследователен и не является хорошим примером для подражания. Вы найдете разные источники, которые советуют вам использовать .profile, .bashrc, / etc / profile, / etc / environment и т. Д., И ни один из них не хочет брать на себя ответственность за то, чтобы сказать «это подходящее место для установки системного пути. ", так что вы в конечном итоге используете подход" скрещивая пальцы и надежду ", прикрепляя $ PATH ко всему, особенно программно. Установите npm из homebrew, и пути работают волшебным образом, потому что он делает это правильно.
Synchro

Спасибо - у меня сработало. Подтвердила бегомnode --version
marika.daboja

18

Попробуйте поместить $ PATH в конец.

export PATH=/usr/local/git/bin:/usr/local/bin:$PATH

5

Чтобы отредактированное значение пути сохранялось в следующих сеансах

cd ~/
touch .bash_profile
open .bash_profile

Это откроет .bash_profile в редакторе, напишите внутри следующего после добавления того, что вы хотите, к пути, разделяя каждое значение по столбцу.

export PATH=$PATH:/usr/local/git/bin:/usr/local/bin:

Сохраните, выйдите, перезапустите терминал и наслаждайтесь


2
Вам также нужно добавить $ PATH с правой стороны, иначе вы потеряете доступ ко всем командам Linux,
Хишам

@HishamAfzalAhamed Я добавил это. Спасибо
Daniel Raouf

4

У меня с тобой была такая же проблема.

cd to ../etc/, затем используйте ls, чтобы убедиться, что ваш файл "paths" находится внутри, vim paths, добавьте "/ usr / local / bin" в конец файла.



0

В MAC OS Catalina эти шаги сработали для меня, все вышеперечисленные решения помогли, но не решили мою проблему.

  1. проверьте узел --version, старый все еще используется.
  2. cd ~ /
  3. атом .bash_profile
  4. Удалите $ PATH, указывающий на старую версию узла, в моем случае это был / usr / local / bin / node / @ node8
  5. Добавьте и сохраните это в $ PATH вместо "export PATH = $ PATH: / usr / local / git / bin: / usr / local / bin"
  6. Закройте все приложения с помощью узла (терминал, симулятор, браузер и т. Д.)
  7. перезапустите терминал и проверьте узел --version
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.