Jeg er ikke klar over hvordan man legger permanent stier til PATH-env-var. Jeg har funnet flere spørsmål til dette hver gang med forskjellige svar. Jeg opprettet en .bash_profile
i hjemmet ditt, men hver gang jeg starter på nytt, må jeg manuelt export
mine baner igjen.
source ~/.bash_profile
fungerer ikke engang.
Hva mangler jeg?
Dette er for øyeblikket min .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"
Kommentarer
Svar
Det du har lagt ut er den riktige måten å legge til flere kataloger til brukeren din «s $PATH
.
Trinn 1 – ~/.bash_profile
For å begynne å gjøre redigeringer i ~/.bash_profile
og legge til alle stedene du «d liker å ha endret til $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"
Trinn 2 – kilde ~/.bash_profile
Når du har gjort endringene ovenfor i denne filen, kan du enten bruke source
-kommandoen eller .
notasjon for å «laste inn» og endringer som er gjort i denne filen i din nåværende shell-kontekst.
$ . ~/.bash_profile
-eller-
$ source ~/.bash_profile
Trinn 3 – Evaluer endringer
Etter at du har gjort endringene og hentet dem, kan du bekrefte at de hadde den effekten du ønsket ved å ekko innholdet i 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/
Bestillingen betyr noe, så kataloger som oppstår først blir søkt først. Hvis en binærfamilie bor flere steder, vil det første stedet du opplever være den som brukes.
Husk også at flere innkjøp av denne filen vil ha en negativ effekt av å fortsette å legge til de samme endringene, så det er ofte slik at du vil se $PATH
til en jevn kjent starttilstand og deretter endre den med disse typer kommandoer:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin" export PATH="/some/new/dir:$PATH"
Bruke path_helper
macOS inkluderer også en hjelper til å hjelpe deg med administrasjonen av $PATH
. Den ligger her /usr/libexec/path_helper
.
Så i stedet for manuelt å lage basen din $PATH
som nevnt ovenfor, kan du i stedet bruk denne kodebiten for å få et kjent godt utgangspunkt for $PATH
.
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
Dette vil passe på å initialisere $PATH
så eventuelle kataloger som er oppført i /etc/paths
og /etc/paths.d/
blir lagt til automatisk.
Kommentarer
- Det kan være bedre å bruke
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
for å initialisere banen slik at eventuelle kataloger oppført i/etc/paths
og/etc/paths.d/
blir automatisk lagt til. - @nohillside gir mening. Jeg var ikke ' t klar over at macOS hadde denne hjelperen, takk, jeg ' vil legge til A ' er.
- Har en titt på
/etc/profile
. Det ' skjer ikke mye der, men innledende isingPATH
er en del av det. - Bare et hode ' er oppe, min
~./bash_profile
bare ruter til~/.bashrc
som er selve filen jeg måtte endre. - @slm
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
å fjerne den andre delen gir meg det samme resultatet som bare å bruke den første delen når jegsource ~/.bash_profile
mer enn en gang. Kanskje en forklaring på hva hver del gjør, vil være nyttig.
echo $PATH
echo $PATH
slik at jeg kunne se eksplisitt og spesifikt hva resultatet ble. Beklager, men jeg kan ' ikke hjelpe hvis jeg Jeg har ikke gitt den informasjonen jeg ber om!/Applications/XAMPP/xamppfiles/bin:/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin