Ich weiß nicht, wie ich dem Pfad PATH env var dauerhaft Pfade hinzufügen soll. Ich habe mehrere Fragen für gefunden dies jedes Mal mit einer anderen Antwort. Ich habe in meinem Home-Verzeichnis eine .bash_profile erstellt, aber jedes Mal, wenn ich neu starte, muss ich export meine Pfade erneut manuell erstellen.

source ~/.bash_profile funktioniert nicht einmal.

Was fehlt mir?

Dies ist derzeit meine .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" 

Kommentare

  • Was meinst du mit " source ~ / .bash_profile ' funktioniert nicht einmal "? Erhalten Sie eine Fehlermeldung?
  • Beenden Sie das Terminal und öffnen Sie es erneut … was ' ist das Ergebnis von: echo $PATH
  • @ user3439894 Ja, dass ' seltsam ist, eigentlich sind alle Pfade hier, erste Zeile ausgeschlossen (die Python-Zeile)
  • Ich hatte erwartet, dass Sie die Ergebnis von echo $PATH, damit ich explizit und spezifisch sehen konnte, was das Ergebnis war. Entschuldigung, aber ich kann ' nicht helfen, wenn ich Ich habe nicht die von mir angeforderten Informationen erhalten!
  • /Applications/XAMPP/xamppfiles/bin:/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Antwort

Was Sie angelegt haben, ist die richtige Methode, um Ihrem Benutzer zusätzliche Verzeichnisse hinzuzufügen. $PATH.

Schritt 1 – ~/.bash_profile

Um Änderungen an Ihrer ~/.bash_profile vorzunehmen, fügen Sie die von Ihnen „d möchte Ihre $PATH geändert haben.

export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" 

Schritt 2 – Quelle ~/.bash_profile

Nachdem Sie die obigen Änderungen an dieser Datei vorgenommen haben, können Sie entweder den Befehl source oder den Befehl . Notation zum „Neuladen“ und Änderungen an dieser Datei im Kontext Ihrer aktuellen Shell.

$ . ~/.bash_profile 

-or-

$ source ~/.bash_profile 

Schritt 3 – Änderungen auswerten

Nachdem Sie die Änderungen vorgenommen und sie bezogen haben, können Sie bestätigen, dass sie den gewünschten Effekt hatten, indem Sie den Inhalt von 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/ 

Die Reihenfolge ist wichtig, daher werden Verzeichnisse, die zuerst auftreten, zuerst durchsucht. Wenn sich eine Binärdatei an mehreren Stellen befindet, wird zuerst die Stelle verwendet, die verwendet wird.

Beachten Sie auch, dass sich mehrere Quellen dieser Datei negativ auf das weitere Hinzufügen derselben Änderungen auswirken. Daher ist es häufig der Fall, dass Sie die $PATH vollständig in einen konsistenten bekannten Anfangszustand versetzen und ihn dann mit den folgenden Befehlstypen ändern möchten:

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin" export PATH="/some/new/dir:$PATH" 

Verwenden von path_helper

macOS enthält auch einen Helfer zur Unterstützung bei der Verwaltung Ihres $PATH. Es befindet sich hier /usr/libexec/path_helper.

Anstatt Ihre Basis $PATH wie oben erwähnt manuell zu erstellen, können Sie dies stattdessen tun Verwenden Sie dieses Snippet, um einen bekannten guten Ausgangspunkt für Ihre $PATH zu erhalten.

[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s) 

Dies wird sorgfältig initialisiert $PATH Alle Verzeichnisse in /etc/paths und /etc/paths.d/ werden automatisch hinzugefügt.

Kommentare

  • Es ist möglicherweise besser, [ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s) zu verwenden, um den Pfad so zu initialisieren, dass alle in /etc/paths und /etc/paths.d/ werden automatisch hinzugefügt.
  • @nohillside macht Sinn. Ich war nicht ' Ich weiß nicht, dass macOS diesen Helfer hatte, danke, ich ' werde A ' er hinzufügen.
  • Haben Ein Blick auf /etc/profile. Es ' ist dort nicht viel los, aber initial ising PATH ist ein Teil davon.
  • Nur ein Kopf ' ist oben, meine ~./bash_profile leitet nur zu ~/.bashrc, der eigentlichen Datei, die ich ändern musste.
  • @slm [ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s) Wenn ich den zweiten Teil entferne, erhalte ich das gleiche Ergebnis wie wenn ich nur den ersten Teil verwende, wenn ich source ~/.bash_profile mehr als einmal bin. Vielleicht wäre eine Erklärung der einzelnen Teile hilfreich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.