Ik “weet niet hoe ik permanente paden moet toevoegen aan de PATH env var. Ik heb verschillende vragen gevonden voor dit telkens met een ander antwoord. Ik heb een .bash_profile
gemaakt in mijn thuismap, maar elke keer dat ik opnieuw opstart, moet ik handmatig export
mijn paden opnieuw volgen.
source ~/.bash_profile
werkt niet eens.
Wat mis ik?
Dit is momenteel mijn .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"
Reacties
Antwoord
Wat u “hebt uitgelegd, is de juiste manier om extra mappen toe te voegen aan uw gebruikers” s $PATH
.
Stap 1 – ~/.bash_profile
Om te beginnen met het maken van bewerkingen in uw ~/.bash_profile
en de locaties die u “d graag gewijzigd hebben in uw $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"
Stap 2 – bron ~/.bash_profile
Nadat je de bovenstaande bewerkingen in dit bestand hebt aangebracht, kun je het source
commando of het .
notatie naar “herladen” en wijzigingen aan dit bestand in de context van uw huidige shell.
$ . ~/.bash_profile
-of-
$ source ~/.bash_profile
Stap 3 – Evalueer wijzigingen
Nadat u de bewerkingen heeft gemaakt en ze heeft gevonden, kunt u bevestigen dat ze het gewenste effect hebben gehad door de inhoud van de 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/
De volgorde is van belang, dus de mappen die het eerst voorkomen, zullen eerst worden doorzocht. Als een binair bestand op meerdere plaatsen woont, is de eerste plaats die wordt aangetroffen de plaats die wordt gebruikt.
Houd er ook rekening mee dat meerdere bronnen van dit bestand een negatief effect zullen hebben op het blijven toevoegen van dezelfde wijzigingen, dus het is vaak zo dat je de $PATH
volledig wilt terugzetten naar een consistente bekende begintoestand en deze vervolgens wilt wijzigen met dit soort commandos:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin" export PATH="/some/new/dir:$PATH"
Path_helper gebruiken
macOS bevat ook een helper om te helpen bij het beheer van uw $PATH
. Het bevindt zich hier /usr/libexec/path_helper
.
Dus in plaats van handmatig je basis $PATH
te maken zoals hierboven vermeld, kun je in plaats daarvan gebruik dit fragment om een bekend goed startpunt te krijgen voor uw $PATH
.
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
Dit zorgt ervoor dat $PATH
dus alle mappen in /etc/paths
en /etc/paths.d/
worden automatisch toegevoegd.
Reacties
- Het is misschien beter om
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
te gebruiken om het pad te initialiseren, zodat alle mappen in/etc/paths
en/etc/paths.d/
worden automatisch toegevoegd. - @nohillside is logisch. Ik was niet ' Ik ben me er niet van bewust dat macOS deze helper had, bedankt, ik ' zal toevoegen aan A ' er.
- Heb een blik op
/etc/profile
. Het ' is daar niet veel aan de hand, maar in eerste instantie isingPATH
maakt er deel van uit. - Gewoon een kop ' omhoog, mijn
~./bash_profile
routeert gewoon naar~/.bashrc
, het daadwerkelijke bestand dat ik moest aanpassen. - @slm
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
het verwijderen van het tweede deel geeft me hetzelfde resultaat als het gebruik van het eerste deel als iksource ~/.bash_profile
meer dan eens gebruik. Misschien zou een uitleg van wat elk onderdeel doet nuttig zijn.
echo $PATH
echo $PATH
zodat ik expliciet en specifiek kon zien wat het resultaat was. Sorry, maar ik kan ' niet helpen als ik ik heb niet de informatie gekregen waar ik om vraag!/Applications/XAMPP/xamppfiles/bin:/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin