Nie wiem, jak trwale dodać ścieżki do ścieżki PATH. Env var. Znalazłem kilka pytań do to za każdym razem z innymi odpowiedziami. Utworzyłem .bash_profile
w moim katalogu domowym, ale przy każdym ponownym uruchomieniu muszę ponownie ręcznie export
moje ścieżki.
source ~/.bash_profile
nawet nie działa.
Czego mi brakuje?
To jest obecnie moje .bash_profile
export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Komentarze
Odpowiedź
Przedstawiłeś właściwy sposób dodawania dodatkowych katalogów do $PATH
użytkownika.
Krok 1 – ~/.bash_profile
Aby rozpocząć, wprowadź zmiany w swoim ~/.bash_profile
dodając dowolne lokalizacje. chciałbym wprowadzić zmiany w swoim $PATH
.
export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"
Krok 2 – źródło ~/.bash_profile
Po dokonaniu powyższych zmian w tym pliku możesz użyć polecenia source
lub .
notacja „przeładuj” i zmiany dokonane w tym pliku w kontekście bieżącej powłoki.
$ . ~/.bash_profile
-lub-
$ source ~/.bash_profile
Krok 3 – oceń zmiany
Po dokonaniu edycji i ich pobraniu możesz potwierdzić, że przyniosły pożądany efekt, powtarzając zawartość varible.
$ echo $PATH | tr ":" "\n" /usr/local/bin /usr/bin /bin /usr/sbin /sbin /opt/X11/bin /Applications/Wireshark.app/Contents/MacOS /usr/local/sbin /Users/smingolelli/bin /usr/local/opt/go/libexec/bin /Applications/Visual Studio Code.app/Contents/Resources/app/bin /Users/smingolelli/projects/kubebuilder/kubebuilder_1.0.5_darwin_amd64/bin/
Kolejność ma znaczenie, więc katalogi, które występują jako pierwsze, będą przeszukiwane jako pierwsze. Jeśli plik binarny znajduje się w wielu miejscach, pierwszym napotkanym miejscem będzie to, które jest używane.
Pamiętaj też, że wielokrotne źródła tego pliku będą miały negatywny wpływ na dalsze dodawanie tych samych zmian, więc często jest tak, że będziesz chciał całkowicie ustawić $PATH
do spójnego znanego stanu początkowego, a następnie zmodyfikować go za pomocą tych typów poleceń:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin" export PATH="/some/new/dir:$PATH"
Korzystanie z path_helper
macOS zawiera również pomocnika do pomocy w zarządzaniu $PATH
. Znajduje się tutaj /usr/libexec/path_helper
.
Więc zamiast ręcznie tworzyć bazę $PATH
, jak wspomniano powyżej, możesz zamiast tego użyj tego fragmentu, aby uzyskać znany dobry punkt początkowy dla $PATH
.
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
To zajmie się zainicjowaniem $PATH
, więc wszystkie katalogi wymienione w /etc/paths
i /etc/paths.d/
zostaną dodane automatycznie.
Komentarze
- Lepiej byłoby użyć
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
do zainicjowania ścieżki, tak aby wszystkie katalogi wymienione w/etc/paths
i/etc/paths.d/
są dodawane automatycznie. - @nohillside ma sens. Nie byłem ' nie wiem, że macOS ma tego pomocnika, dziękuję, ' dodam do ' er.
- Mam spojrzenie na
/etc/profile
. ' niewiele się tam dzieje, ale początkowe isingPATH
jest jego częścią. - Tylko głowa ' w górę, mój
~./bash_profile
po prostu kieruje do~/.bashrc
, który jest rzeczywistym plikiem, który musiałem zmodyfikować. - @slm
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
usunięcie drugiej części daje taki sam wynik jak użycie pierwszej części, gdysource ~/.bash_profile
więcej niż raz. Może wyjaśnienie, co robi każda część, byłoby pomocne.
echo $PATH
echo $PATH
, aby móc dokładnie i dokładnie zobaczyć, jaki był wynik. Przykro mi, ale nie mogę ' pomóc, jeśli nie dostałem informacji, o które proszę!/Applications/XAMPP/xamppfiles/bin:/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin