Jak dodać / usr / local / bin w $ PATH na Macu


96

Kiedy otwieram plik .profile w terminalu, mam następujące informacje:

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

Teraz zainstalowałem node.js na Maca i mówi:

Upewnij się, że / usr / local / bin znajduje się w $ PATH.

Jak mogę dodać /usr/local/bindo eksportu PATH=$PATH:/usr/local/git/bin?


25
Głosowałem za ponownym otwarciem tego quesiton. Chodzi o Node.js, a także o Git (który jest narzędziem używanym przez programistów).
KatieK

9
Tak. Jeśli nie tutaj, to gdzie.
bobobobo

5
Drobne informacje: nie wiem o wcześniejszych wersjach OS X, ale przynajmniej od Yosemite, / usr / local / bin jest domyślnie zawarty w $ PATH. Możesz sprawdzić, co jest w twojej $ PATH, uruchamiając echo $ PATH.
Ross Henderson

Odpowiedzi:


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

Jedna uwaga: nie potrzebujesz tutaj cudzysłowów, ponieważ znajduje się po prawej stronie zadania, ale ogólnie, a zwłaszcza na komputerach Mac z ich tradycją spacy pathnames, rozszerzenia takie jak $PATHpowinny być cytowane w podwójnych cudzysłowach jako "$PATH".


7
Chociaż możesz to zrobić, nie jest to sposób na OS X. Ścieżki w systemie OS X są budowane przy użyciu /usr/libexec/path_helperwywoływanych z domyślnego pliku /etc/profile. Zacznij od, man path_helpera następnie dodaj ścieżki w plikach w formacie /etc/paths.d. Przekonasz się, że prawie każda ścieżka ustawienie przykład z innych systemów operacyjnych obejmuje $PATH, ponieważ żaden z nich nie wydają się być w stanie zobowiązać się do bycia pierwszym w łańcuchu ...
Synchro

Właśnie odpowiadałem na pytanie, jak dodać wiele katalogów do PATH. Możesz również utworzyć wiele wpisów w /etc/paths.dlub pojedynczy wpis z wieloma katalogami, po jednym w wierszu, ale to nie pomaga w wyświetlaniu monitu i jest tylko pośrednim sposobem osiągnięcia tego samego. Ponadto, mimo że pytanie jest oznaczone tagami osx, to podejście ma tę zaletę, że działa na Linuksie i innych systemach podobnych do UNIX.
Mark Reed,

Problem w Linuksie polega na tym, że jest on okropnie niespójny i nie jest dobrym przykładem do naśladowania. Znajdziesz różne źródła mówiące ci o używaniu .profile, .bashrc, / etc / profile, / etc / environment i tak dalej, i żadne z nich nie chce wziąć odpowiedzialności za powiedzenie "to jest właściwe miejsce do ustawienia ścieżki systemowej ”, więc w końcu przyjmujesz podejście„ trzymaj kciuki i nadzieję ”, polegające na przyczepianiu $ PATH do wszystkiego, zwłaszcza programowo. Zainstaluj npm z homebrew, a ścieżki działają magicznie, ponieważ robi to we właściwy sposób.
Synchro,

Dzięki - pracował dla mnie. Potwierdziłem to biegiemnode --version
marika.daboja

18

Spróbuj umieścić $ PATH na końcu.

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

5

Aby edytowana wartość ścieżki była zachowywana w następnych sesjach

cd ~/
touch .bash_profile
open .bash_profile

Spowoduje to otwarcie .bash_profile w edytorze, napisz wewnątrz następującego po dodaniu tego, co chcesz, do ścieżki oddzielającej każdą wartość według kolumny.

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

Zapisz, wyjdź, uruchom ponownie terminal i ciesz się


2
Musisz również dodać $ PATH po prawej stronie, w przeciwnym razie stracisz dostęp do wszystkich poleceń Linuksa
Hisham Ahamad.

@HishamAfzalAhamed Dodałem to. Dziękuję
Daniel Raouf,

4

Miałem z tobą ten sam problem.

cd do ../etc/, a następnie użyj ls, aby upewnić się, że plik ze „ścieżkami” jest w folderze, ścieżki vima, dodaj „/ usr / local / bin” na końcu pliku.



0

W MAC OS Catalina te kroki zadziałały dla mnie, wszystkie powyższe rozwiązania pomogły, ale nie rozwiązały mojego problemu.

  1. check node --version, wciąż stara w użyciu.
  2. cd ~ /
  3. atom .bash_profile
  4. Usuń $ PATH wskazujący na starą wersję węzła, w moim przypadku był to / usr / local / bin / node / @ node8
  5. Zamiast tego dodaj i zapisz do $ PATH „export PATH = $ PATH: / usr / local / git / bin: / usr / local / bin”
  6. Zamknij wszystkie aplikacje za pomocą węzła (terminal, symulator, wystawa przeglądarki itp.)
  7. zrestartuj terminal i sprawdź node --version
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.