OSX Mountain Lion est livré avec ZSH 4.3.1 dans/bin/zsh. Après le téléchargement, ./configure, make, make check,
et make install
- version 5.0.0,
which zsh
retourne toujours /bin/zsh/
et zsh --version
retourne toujours zsh 4.3.11 (i386-Apple-darwin12.0)
Eléments à noter pour aider les répondants:
Je n'ai rencontré aucune erreur lors de l'exécution des commandes d'installation.
Dans /usr/local/bin
, j'ai ces 3 fichiers:-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
Mon $PATH
$ echo $PATH
/Users/kevinsuttle/.rbenv/shims:/Users/kevinsuttle/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
Questions auxquelles j'ai besoin d'une réponse :
1. Quel est le moyen le plus propre d’installer ZSH? (De git, homebrew, source curling?)
2. Est-il important que vous exécutiez les commandes d'installation?
3. Comment puis-je mettre à niveau ou remplacer la version de ZSH fournie avec Mountain Lion?
4. Est-ce pour cela que les gens finissent par utiliser oh-my-zsh ?
Vous devez définir votre shell par défaut dans OSX avec:
chsh -s /usr/local/bin/zsh $USER
Relogin à OSX et ça devrait marcher!
Je vous recommande d'utiliser homebrew. Cela rend les choses beaucoup plus faciles. Installez homebrew comme décrit sur http://mxcl.github.com/homebrew/ .
Homebrew installe vos fichiers dans/usr/local/bin, assurez-vous donc que/usr/local/bin précède/usr/bin.
Ajoutez la ligne suivante dans ~/.zshrc et ~/.bashrc:
PATH="/usr/local/bin:/usr/local/sbin:$PATH"
Installez zsh:
brew install zsh
Définissez votre shell par défaut sur zsh:
chsh -s /usr/local/bin/zsh $USER
Enfin, définissez l'autorisation d'utiliser zsh à partir de l'installation de brassage Ajoutez "/ usr/local/bin/zsh" au fichier "/ etc/shells" pour autoriser zsh. Sinon, vous obtiendrez une erreur "Vous n'êtes pas autorisé à exécuter cette application. L'administrateur a défini votre Shell sur une valeur illégale."
echo "/usr/local/bin/zsh" | Sudo tee -a /etc/shells
Je recommande de corriger le bogue de l'environnement zsh sous OSX. Renommez/etc/zshenv en/etc/zshrc
Sudo mv /etc/{zshenv,zshrc}
Relogin à OSX et ça devrait marcher!
Si vous avez des problèmes, tapez:
brew doctor
Je vais essayer de répondre à vos questions, mais j’ai le sentiment que c’est mieux pour le superutilisateur
Quel est le moyen le plus propre d’installer ZSH? (De git, homebrew, source curling?)
Acquérir la source comme vous le souhaitez; mais le moyen le plus propre serait de créer une bin
privée, j'aime /Users/burhan/bin/
, et d'installer des choses là-bas. C’est, à mon avis, la méthode cleanest et simplest puisque vous n’avez pas besoin de vous fier à d’autres bibliothèques/installateurs/magiques.
Est-il important que vous exécutiez les commandes d'installation?
Non, les arguments que vous donnez aux commandes importent - en particulier l'emplacement d'installation cible et le chemin d'accès aux bibliothèques. Si vous ne les fournissez pas (ou ne les définissez pas auparavant dans l'environnement), le programme d'installation placera les éléments dans les chemins d'accès système par défaut. et pour faire that vous devez exécuter le programme d'installation avec des autorisations élevées, c.-à-d. avec Sudo
ou en étant connecté en tant que root
.
Comment puis-je mettre à niveau ou remplacer la version de ZSH fournie avec Mountain Lion?
Je recommanderais contre la mise à niveau; tout simplement parce que je ne suis pas sûr des effets secondaires que cela aura sur les divers autres scripts qui s’y attendent et qui seront livrés avec la version annoncée. Pour votre santé mentale, je voudrais éviter cela.
Au lieu de cela, si vous le construisez et l'installez dans un bac privé et que vous dirigez votre PATH
de manière appropriée; vous pouvez utiliser la version mise à jour sans modifier la version livrée.
OK, le commentaire de Burhan m'a rappelé une situation dans laquelle je devais ajouter explicitement le chemin de la version préférée à mon .bash_profile
. La version 5.0.0 est dans /usr/local/bin
, donc maintenant le $PATH
dans mon .bash_profile
ressemble à ceci:
export PATH="$HOME/.rbenv/bin:/usr/local/bin:$PATH"
et maintenant, quand je lance which zsh
, je reçois /usr/local/bin/zsh
et zsh --version
renvoie zsh 5.0.0 (x86_64-Apple-darwin12.0.0)
.
Woot! J'espère que cela aidera quelqu'un qui a le même problème.
Dans le passé, la solution que j'ai proposée pour ce type de mise à niveau était à peu près la suivante:
Cela semblait fonctionner.
Ce que j'aimerais savoir, c'est s'il s'agit d'une solution idiote, et si oui, pourquoi? Merci.