Festlegen der Umgebungsvariablen PATH in OSX dauerhaft

140

Ich habe mehrere Antworten gelesen, wie Umgebungsvariablen unter OSX als dauerhaft festgelegt werden.

Zuerst habe ich Folgendes versucht: Wie kann man $ PATH unter Linux / Unix dauerhaft einstellen? aber ich hatte eine Fehlermeldung, die sagte no such file and directory, also dachte ich, ich könnte es versuchen ~/.bash_profileanstatt, ~/.profileaber es funktionierte nicht.

Zweitens habe ich diese Lösung gefunden: So legen Sie den $ PATH fest, wie er von Anwendungen in os x verwendet wird , in dem empfohlen wird, Änderungen in vorzunehmen

~ / .MacOSX / environment.plist

aber ich hatte wieder einen no such file and directoryfehler.

Ich brauche eine Möglichkeit, diese Variablen so einzustellen, dass sie nicht jedes Mal neu festgelegt werden müssen, wenn ich eine neue Terminalsitzung öffne.

patti_jane
quelle
Sie können einfach ~ / .profile erstellen. Die meisten * nix-Systeme erkennen die Datei und verwenden sie, falls vorhanden. Möglicherweise benötigen Sie jedoch einen Neustart
trve.fa7ad
~ / .MacOSX / environment.plist ist veraltet.
Pierre ALBARÈDE

Antworten:

257

Sie müssen es hinzufügen /etc/paths.

Referenz (was für mich funktioniert): Hier

Nitish
quelle
6
Dies ist die einzige Lösung, die auf El Capitan funktioniert. Besser als modifizieren .bash_profileund .profile.
Igor Ganapolsky
1
Die Antwort für die hinzugefügte Referenz wurde verbessert, in der erläutert wird, wie Elemente (auch in den Kommentaren) aus dem Pfad entfernt werden.
Amudhan
Dies funktionierte in EL Capitan. Schließen Sie alle Terminals und öffnen Sie ein neues Terminal, um das Echo $ PATH zu überprüfen.
Prem Ananth C
Die Antwort ist 5 Jahre alt, aber es ist immer noch die einfachste und einfachste Lösung. Vielen Dank für die Antwort + die Referenz
Rachit Magon
Vergessen Sie nicht, Ihr Terminal neu zu starten.
Neeraj Singh
27

Ich habe festgestellt, dass es einige Dateien gibt, die sich auf die $PATHVariable in macOS auswirken können (funktioniert für mich, 10.11 El Capitan).

  1. Wie die am besten abgestimmte Antwort sagte, vi /etc/pathswas aus meiner Sicht empfohlen wird.

  2. Vergessen Sie auch nicht, dass das /etc/paths.dVerzeichnis, das Dateien enthält, die $PATHVariable beeinflussen kann. Legen Sie in meinem Fall den Pfad gitund fest mono-command. Sie können ls -l /etc/paths.dElemente auflisten und rm /etc/paths.d/path_you_dislikeElemente entfernen.

  3. Wenn Sie eine "Bash" -Umgebung verwenden ( Terminal.appz. B. die Standardeinstellung ), sollten Sie ~/.bash_profileoder auschecken ~/.bashrc. Möglicherweise ist diese Datei noch nicht vorhanden, aber diese beiden Dateien haben Auswirkungen auf die$PATH .

  4. Wenn Sie eine "zsh" -Umgebung verwenden ( z. B. Oh-My-Zsh ), sollten Sie ~./zshrcstattdessen auschecken~/.bash* .

Und vergessen Sie dann nicht, alle Terminalfenster neu zu startenecho $PATH . Die $PATHZeichenfolge wird seinPATH_SET_IN_3&4:PATH_SET_IN_1:PATH_SET_IN_2 .

Es wurde festgestellt, dass sich die ersten beiden Möglichkeiten ( /etc/pathsund /etc/path.d) im /Verzeichnis befinden, die sich auf alle Konten auf Ihrem Computer auswirken, während sich die letzten beiden Möglichkeiten ( ~/.bash*oder ~/.zsh*) im ~/Verzeichnis (auch bekannt als /Users/yourusername/) befinden, die sich nur auf Ihre Kontoeinstellungen auswirken.

Lesen Sie mehr: Mac OS X: $ PATH Variable setzen / ändern - nixCraft

iplus26
quelle
2
In einigen Fällen mag ich es sehr, .bash_profile zu bearbeiten, denn wenn Sie zwei Benutzerkonten auf Ihrem Computer hätten, könnten Sie Skripte nur für eines davon hinzufügen, z. B. ~ / dev / scripts
PeteW
Was ich nicht realisiert habe war, dass ich zsh anstelle von bash verwendet habe. Vielen Dank!
Löwin
11

Sie können dies auch hinzufügen

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

zu ~/.bash_profile, dann schaffen , ~/.bashrcwo man einfach mehr Wege zu PATH hinzufügen. Ein Beispiel mit.

export PATH=$PATH:.
Omoman
quelle
Danke dir. Ich habe die vorherige Lösung verwendet, aber wenn ich diese Methode anwende, kann ich dann auch DYLD_LIBRARY_PATH-Variablen als permanent festlegen?
Patti_jane
Ja, das solltest du können. Wenn Sie die Änderungen sehen möchten, schließen Sie Ihr Terminal und öffnen Sie es erneut, oder geben Sie. ~/.bashrc
omoman
Ich füge den obigen Code hinzu . ~/.bash_profile, öffne dann das Terminal erneut und tippe . ~/.bashrc, aber es heißt keine solche Datei oder kein solches Verzeichnis?
Patti_jane
Sie müssen es erstellen. Die obigen Zeilen weisen Sie an, .bash_profilezu laden, .bashrcfalls vorhanden. Dann können Sie in das Feld .bashrcalles hinzufügen, was Sie möchten.
Omoman
Vielen Dank! Ich weiß, dass ich zu viel frage, aber kennen Sie einen Link, in dem richtig angegeben ist, wie man erstellt .bashrc? Ich konnte keinen guten finden.
Patti_jane
8

Sie können eine der folgenden Dateien öffnen:

/etc/profile
~/.bash_profile
~/.bash_login   (if .bash_profile does not exist)
~/.profile      (if .bash_login does not exist)

Und füge hinzu:

export PATH="$PATH:your/new/path/here"
Tiago
quelle
7

Um einen neuen Pfad zur Umgebungsvariablen PATH in MacOS /etc/paths.dhinzuzufügen, erstellen Sie einfach eine neue Datei im Verzeichnis und fügen Sie einen Schreibpfad hinzu, der in der Datei festgelegt werden soll. Starten Sie das Terminal neu. Sie können echo $PATHan der Eingabeaufforderung überprüfen , ob der Pfad zur Umgebungsvariablen hinzugefügt wurde.

Beispiel: So fügen Sie /usr/local/sbinder PATHVariablen einen neuen Pfad hinzu :

cd /etc/paths.d
sudo vi newfile

Fügen Sie den Pfad zum hinzu newfileund speichern Sie ihn.

Starten Sie das Terminal neu und geben Sie echo $PATHzur Bestätigung ein

Rishabh Mishra
quelle
Ich bin mir nicht sicher, warum diese Antwort abgelehnt wird. Es scheint eine vernünftige und vernünftige Möglichkeit zu sein, Pfadvariablen zu organisieren. Ich habe paths.d verwendet, um einzelne Dateien für jede nicht standardmäßige Pfadvariable zu erstellen.
p_q
1

Ich habe die erste Methode ausprobiert und die Referenzseite durchgesehen, eine gut ausgeführte Pfadeinstellung. Aber sie hat den eingestellten Pfad nicht beschlagen, als ich $ PATH wiedergab

IgnitedMind
quelle
1
Haben Sie das Terminal geschlossen und neu gestartet oder aufgerufen source, um die neue Umgebung zu laden?
Dom
yaa..neustarted terminal..aber PATH Variable existiert wieder nicht
IgnitedMind
Was ist deine Muschel? Überprüfen Sie mit ps -p $$. Wenn es sich nicht um Bash handelt, werden Startdateien unterschiedlich benannt.
Pierre ALBARÈDE
0

Zum Einrichten des Pfads in Mac können zwei Methoden angewendet werden.

  1. Erstellen Sie eine Datei für den Variablennamen, fügen Sie den Pfad dort unter /etc/paths.d ein und geben Sie die Datei in profile_bashrc ein.
  2. Pfadvariable in ~/.profile_bashrcas exportieren

    export VARIABLE_NAME = $ (PATH_VALUE)

UND geben Sie den Pfad an. Es ist einfach und stabil.

Sie können jedes path variabledurch Mac terminaloder in linuxauch einstellen .

Ram Krishna
quelle