OSX Mountain Lion wird mit ZSH 4.3.1 in/bin/zsh ausgeliefert. Nach dem Herunterladen ./configure, make, make check,
und make install
- in Version 5.0.0,
which zsh
gibt weiterhin /bin/zsh/
zurück
und zsh --version
gibt immer noch zsh 4.3.11 (i386-Apple-darwin12.0)
zurück
Wichtige Hinweise für die Antwortenden:
Ich hatte keine Fehler beim Ausführen der Installationsbefehle.
In /usr/local/bin
habe ich diese 3 Dateien:-rwxr-xr-x 2 kevinsuttle admin 622K Aug 20 00:59 zsh
-rwxr-xr-x 2 kevinsuttle admin 622K Aug 20 00:59 zsh-5.0.0
-rwxr-xr-x 1 kevinsuttle admin 622K Aug 20 00:50 zsh.old
Mein $PATH
$ echo $PATH
/Users/kevinsuttle/.rbenv/shims:/Users/kevinsuttle/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
Fragen, die beantwortet werden müssen :
1. Was ist der sauberste Weg, um ZSH zu installieren? (Von Git, Homebrew, Curl-Quelle?)
2. Ist es wichtig, wo Sie die Installationsbefehle ausführen?
3. Wie aktualisiere oder überschreibe ich die mit Mountain Lion gelieferte Version von ZSH?
4. Ist das der Grund, warum die Leute oh-my-zsh benutzen?
Sie müssen Ihre Standard-Shell in OSX folgendermaßen einstellen:
chsh -s /usr/local/bin/zsh $USER
Relogin zu OSX und es sollte funktionieren!
Ich empfehle Ihnen, Homebrew zu verwenden. Es macht die Sache viel einfacher. Installieren Sie Homebrew, wie auf http://mxcl.github.com/homebrew/ beschrieben.
Homebrew installiert Ihre Sachen in/usr/local/bin. Stellen Sie daher sicher, dass/usr/local/bin vor/usr/bin steht.
Fügen Sie die folgende Zeile in ~/.zshrc und ~/.bashrc ein:
PATH="/usr/local/bin:/usr/local/sbin:$PATH"
Installiere zsh:
brew install zsh
Setzen Sie Ihre Standard-Shell auf zsh:
chsh -s /usr/local/bin/zsh $USER
Legen Sie schließlich die Erlaubnis zur Verwendung von zsh aus der Brühinstallation fest. Fügen Sie der Datei "/ etc/shells" die Datei "/ usr/local/bin/zsh" hinzu, um zsh zuzulassen. Andernfalls erhalten Sie eine Fehlermeldung "Sie sind nicht berechtigt, diese Anwendung auszuführen. Der Administrator hat Ihre Shell auf einen ungültigen Wert festgelegt."
echo "/usr/local/bin/zsh" | Sudo tee -a /etc/shells
Ich empfehle, den zsh-Umgebungsfehler in OSX zu beheben. Benennen Sie/etc/zshenv in/etc/zshrc um
Sudo mv /etc/{zshenv,zshrc}
Relogin zu OSX und es sollte funktionieren!
Wenn Sie Probleme haben, geben Sie Folgendes ein:
brew doctor
Ich werde versuchen, Ihre Fragen zu beantworten, aber ich habe das Gefühl, dass dies für Superuser besser geeignet ist.
Was ist der sauberste Weg, ZSH zu installieren? (Von git, homebrew, kräuselungsquelle?)
Erwerb der Quelle, wie Sie möchten; Der sauberste Weg wäre jedoch, einen privaten bin
zu erstellen, ich mag /Users/burhan/bin/
, und installiere dort Dinge. Dies ist meiner Meinung nach der cleanest und simplest Weg, da Sie sich nicht auf andere Bibliotheken/Installationsprogramme/magic verlassen müssen.
Ist es wichtig, wo Sie die Installationsbefehle ausführen?
Nein, es spielt keine Rolle, welche Argumente Sie den Befehlen geben - insbesondere den Zielinstallationspfad und den Pfad zu Bibliotheken. Wenn Sie diese nicht bereitstellen (oder zuvor in der Umgebung festlegen), werden vom Installationsprogramm Elemente in die Standardsystempfade eingefügt. und that Sie müssen das Installationsprogramm mit erhöhten Berechtigungen ausführen, dh mit Sudo
oder, während Sie als root
angemeldet sind.
Wie aktualisiere oder überschreibe ich die mit Mountain Lion gelieferte Version von ZSH?
Ich würde das Upgrade nicht empfehlen. Ich bin einfach nicht sicher, welche Nebenwirkungen es auf die verschiedenen anderen Skripte haben wird, die davon ausgehen, dass sie mit der angekündigten Version ausgeliefert werden. Zu Ihrer Vernunft würde ich das vermeiden.
Stattdessen, wenn Sie es in einer privaten Bin erstellen und installieren und Ihren PATH
entsprechend zeigen; Sie können die aktualisierte Version verwenden, ohne die gelieferte Version zu ändern.
OK, so erinnerte mich Burhans Kommentar an eine Situation, in der ich den Pfad der bevorzugten Version explizit zu meinem .bash_profile
hinzufügen musste. Version 5.0.0 ist in /usr/local/bin
, also sieht der $PATH
in meinem .bash_profile
so aus:
export PATH="$HOME/.rbenv/bin:/usr/local/bin:$PATH"
und jetzt, wenn ich which zsh
starte, bekomme ich /usr/local/bin/zsh
und zsh --version
gibt zsh 5.0.0 (x86_64-Apple-darwin12.0.0)
zurück.
Woot! Hoffentlich hilft dies jemandem, der das gleiche Problem hat.
In der Vergangenheit war die Lösung, die ich für diese Art von Upgrade gefunden hatte, ungefähr wie folgt:
Das schien zu funktionieren.
Ich würde gerne wissen, ob dies eine dumme Lösung ist und wenn ja, warum? Danke