544 Stimmen

Setzen von Umgebungsvariablen unter Mac OS X Lion

Wenn jemand sagt: "Bearbeiten Sie Ihre .plist-Datei" oder "Ihr .profile" oder ".bash_profile" usw., verwirrt mich das nur. Ich habe keine Ahnung, wo diese Dateien sind, wie ich sie erstellen kann, wenn ich das tun muss, usw., und auch, warum es so viele verschiedene zu geben scheint (warum? Tun sie unterschiedliche Dinge?)

Könnte also bitte jemand einem früheren Windows-Benutzer (der sich verzweifelt mit der angenehmen, wenn auch anfangs etwas verwirrenden OS X-Welt vertraut machen möchte) sehr geduldig erklären, wie man dies Schritt für Schritt macht?

Ich brauche die Variablen sowohl für GUI-Anwendungen als auch für Befehlszeilenanwendungen, und im Moment ist es für ein Ameisenskript, das die Variablen benötigt, aber es wird höchstwahrscheinlich auch andere Bedürfnisse geben.

Bitte beachten Sie, dass ich auch Lion habe, da viele der Antworten, die Sie beim Googeln finden, für Lion veraltet zu sein scheinen...

Beachten Sie auch, dass ich praktisch keine Erfahrung im Umgang mit dem Terminal habe. Ich bin bereit, zu lernen, aber bitte erklären Sie für einen Anfänger ...

406voto

David V Punkte 11261

Zunächst einmal muss man wissen, dass OS X auf Unix aufbaut. An dieser Stelle kommt das .bash_profile ins Spiel. Wenn Sie die Terminal-Anwendung in OS X starten, erhalten Sie standardmäßig eine Bash-Shell. Die Bash-Shell stammt von Unix und führt beim Laden das Skript .bash_profile aus. Sie können dieses Skript für Ihren Benutzer anpassen, um Ihre Einstellungen zu ändern. Diese Datei befindet sich unter:

~/.bash_profile

Update für Mavericks

OS X Mavericks verwendet die environment.plist nicht - zumindest nicht für OS X Windows-Anwendungen. Sie können die launchd-Konfiguration für Anwendungen mit Fenstern. Das .bash_profile wird weiterhin unterstützt, da es Teil der in Terminal verwendeten Bash-Shell ist.

Nur Lion und Mountain Lion

OS X-Fensteranwendungen erhalten Umgebungsvariablen aus Ihrer environment.plist-Datei. Dies ist wahrscheinlich das, was Sie mit der ".plist"-Datei meinen. Diese Datei befindet sich unter:

~/.MacOSX/environment.plist

Wenn Sie eine Änderung an der Datei environment.plist vornehmen, werden diese Umgebungsvariablen von OS X-Windows-Anwendungen, einschließlich der Terminal-Anwendung, gesetzt. Jede Umgebungsvariable, die Sie in Ihrem .bash_profile setzen, wirkt sich nur auf Ihre Bash-Shells aus.

Im Allgemeinen setze ich nur Variablen in meiner .bash_profile-Datei und ändere nicht die .plist-Datei (oder die launchd-Datei auf Mavericks). Die meisten OS X-Fensteranwendungen benötigen keine eigene Umgebung. Nur wenn eine Anwendung tatsächlich eine bestimmte Umgebungsvariable benötigt, ändere ich die Datei environment.plist (bzw. launchd unter Mavericks).

Es hört sich so an, als ob Sie die Datei environment.plist und nicht das .bash_profile ändern wollen.

Und noch etwas: Wenn Sie nach diesen Dateien suchen, werden Sie sie wohl nicht finden. Wenn ich mich richtig erinnere, waren sie nicht auf meiner Erstinstallation von Lion.

Bearbeiten: Hier finden Sie eine Anleitung zur Erstellung einer plist-Datei.

  1. Xcode öffnen
  2. Wählen Sie Datei -> Neu -> Neue Datei...
  3. Wählen Sie unter Mac OS X Ressourcen
  4. Wählen Sie eine plist-Datei
  5. Befolgen Sie die restlichen Aufforderungen

Um die Datei zu bearbeiten, klicken Sie bei gedrückter Ctrl-Taste, um ein Menü aufzurufen, und wählen Sie Zeile hinzufügen. Sie können dann ein Schlüssel-Wert-Paar hinzufügen. Bei Umgebungsvariablen ist der Schlüssel der Name der Umgebungsvariablen und der Wert der tatsächliche Wert für diese Umgebungsvariable.

Sobald die plist-Datei erstellt ist, können Sie sie mit Xcode öffnen, um sie jederzeit zu ändern.

226voto

tokkov Punkte 2929

Ihr .profile o .bash_profile sind einfach Dateien, die sich in Ihrem "Home"-Ordner befinden. Wenn Sie ein Finder-Fenster öffnen und in der Favoritenleiste auf Ihren Kontonamen klicken, werden Sie diese Dateien nicht sehen. Wenn Sie ein Terminal-Fenster öffnen und Folgendes eingeben ls um die Dateien aufzulisten, werden Sie sie trotzdem nicht sehen. Sie können sie jedoch finden, indem Sie ls -a im Terminal. Oder Sie öffnen Ihren bevorzugten Texteditor (z.B. TextEdit, da es mit OS X geliefert wird) und wählen Datei->Öffnen und drücken dann Command + Shift + . und klicken Sie auf Ihren Kontonamen (Home-Ordner), dann sehen Sie sie auch. Wenn Sie sie nicht sehen, können Sie eine in Ihrem bevorzugten Texteditor erstellen.

Das Hinzufügen von Umgebungsvariablen ist relativ einfach und ähnelt konzeptionell stark dem von Windows. In Ihrem .profile fügen Sie einfach in jeder Zeile den Namen der Variablen und ihren Wert wie folgt ein:

export JAVA_HOME=/Library/Java/Home
export JRE_HOME=/Library/Java/Home

usw.

Wenn Sie Ihre "PATH"-Variable ändern, stellen Sie sicher, dass Sie den Standard-PATH des Systems einbeziehen, der bereits für Sie festgelegt wurde:

export PATH=$PATH:/path/to/my/stuff

Jetzt kommt der schwierige Teil: Sie können entweder ein neues Terminalfenster öffnen, damit die neuen Variablen wirksam werden, oder Sie müssen Folgendes eingeben .profile o .bash_profile um die Datei neu zu laden und den Inhalt auf die aktuelle Terminalumgebung zu übertragen.

Sie können überprüfen, ob Ihre Änderungen wirksam geworden sind, indem Sie den Befehl "set" in Ihrem Terminal verwenden. Geben Sie einfach set (oder set | more wenn Sie eine paginierte Liste bevorzugen) und vergewissern Sie sich, dass das, was Sie der Datei hinzugefügt haben, auch dort steht.

Was das Hinzufügen von Umgebungsvariablen zu GUI-Anwendungen betrifft, so ist dies normalerweise nicht notwendig, und ich würde gerne mehr darüber erfahren, was Sie konkret zu tun versuchen, um Ihnen eine bessere Antwort geben zu können.

77voto

jonphipps Punkte 946

Hier finden Sie weitere Informationen speziell zur PATH-Variable in Lion OS 10.7.x:

Wenn Sie den PATH global setzen müssen, wird der PATH vom System in der folgenden Reihenfolge erstellt:

  1. Parsen des Inhalts der Datei /private/etc/paths ein Pfad pro Zeile
  2. Analysieren des Inhalts des Ordners /private/etc/paths.d . Jede Datei in diesem Ordner kann mehrere Pfade enthalten, einen Pfad pro Zeile. Die Ladereihenfolge wird zuerst durch den Dateinamen und dann durch die Reihenfolge der Zeilen in der Datei bestimmt.
  3. A setenv PATH Anweisung in /private/etc/launchd.conf die anhängen. zu dem bereits in #1 und #2 erstellten Pfad (Sie dürfen $PATH nicht verwenden, um auf die PATH-Variable zu verweisen, die bereits erstellt wurde). Das Setzen der PATH-Variable an dieser Stelle ist jedoch angesichts der beiden anderen Optionen völlig unnötig, obwohl an dieser Stelle andere globale Umgebungsvariablen für alle Benutzer gesetzt werden können.

Diese Pfade und Variablen werden an alle Benutzer und Anwendungen vererbt, sie sind also wirklich global - das Ab- und Anmelden setzt diese Pfade nicht zurück - sie werden für das System erstellt, bevor ein Benutzer die Möglichkeit hat, sich anzumelden, so dass Änderungen an diesen Pfaden einen Neustart des Systems erfordern, um wirksam zu werden.

Übrigens, eine Neuinstallation von OS 10.7.x Lion hat keine environment.plist die ich finden kann, also kann es funktionieren, aber es kann auch veraltet sein.

57voto

learner_19 Punkte 3521
echo $PATH

Es druckt den aktuellen Pfadwert

Dann tun vim ~/.bash_profile und schreiben

export PATH=$PATH:/new/path/to/be/added

hier wird an den alten Pfad angehängt, so dass der alte Pfad erhalten bleibt und der neue Pfad hinzugefügt wird

dann tun

source ~/.bash_profile

wird ausgeführt und der Pfad hinzugefügt

dann noch einmal nachfragen bei

echo $PATH

31voto

wired00 Punkte 13046

Leider löste keine dieser Antworten das spezifische Problem, das ich hatte.

Hier ist eine einfache Lösung, ohne dass man sich mit bash . In meinem Fall war es, dass ich gradle zu arbeiten (für Android Studio ).

Übrigens, diese Schritte beziehen sich auf OSX (Mountain Lion 10.8.5)

  • Öffnen Sie das Terminal.

  • Führen Sie den folgenden Befehl aus:

    sudo nano /etc/paths (oder sudo vim /etc/paths für vim)

    nano

  • Gehen Sie zum Ende der Datei und geben Sie den Pfad ein, den Sie hinzufügen möchten.

  • Drücken Sie Control-x zum Beenden.

  • Geben Sie 'Y' ein, um den geänderten Puffer zu speichern.

  • Öffnen Sie ein neues Terminalfenster und geben Sie ein:

    echo $PATH

Sie sollten sehen, dass der neue Pfad am Ende von PATH angehängt ist

Diese Einzelheiten habe ich diesem Beitrag entnommen:

http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q

Ich hoffe, das kann jemand anderem helfen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X