Як додати / usr / local / bin в $ PATH на Mac


95

Коли я роблю "відкрити .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
Так. Якщо ні тут, то де.
бобобобо

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, і контури працюють магічно, тому що це робить правильно.
Синхро

Спасибі - працювали на мене. Я підтвердив це бігом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
Hisham

@HishamAfzalAhamed Я додав це. Дякую
Даніель Рауф

4

У мене була однакова проблема з вами.

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



0

У MAC OS Catalina це кроки, які працювали для мене, всі вищезазначені рішення допомогли, але не вирішили мою проблему.

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