安装/升级/设置ZSH的默认版本的最终方法是什么?

Kev*_*tle 25 macos terminal zsh osx-mountain-lion

OSX Mountain Lion在/ bin/zsh中附带ZSH 4.3.1.下载后,./configure, make, make check,make install-ing版本5.0.0,

which zsh 仍然回来 /bin/zsh/

zsh --version仍然返回zsh 4.3.11 (i386-apple-darwin12.0)

帮助回答者的注意事项:
我没有运行安装命令的错误.

/usr/local/bin,我有这3个文件:
-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

我的 $PATH
$ echo $PATH
/Users/kevinsuttle/.rbenv/shims:/Users/kevinsuttle/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin

我需要回答的问题:
1.安装ZSH最简洁的方法是什么?(从git,homebrew,curl-ing source?)
2.运行安装命令的位置是否重要?
3.如何升级或覆盖Mountain Lion附带的ZSH版本?
这就是人们最终使用oh-my-zsh的原因吗?

rod*_*tor 49

您必须在OSX中设置默认shell:

chsh -s /usr/local/bin/zsh $USER
Run Code Online (Sandbox Code Playgroud)

重新登录OSX,它应该工作!

自制方式

我建议你用自制软件.它使事情变得更容易.安装自制软件,如http://mxcl.github.com/homebrew/所述.

Homebrew会在/ usr/local/bin中安装你的东西,所以确保/ usr/local/bin在/ usr/bin之前.

在〜/ .zshrc和〜/ .bashrc中添加以下行:

PATH="/usr/local/bin:/usr/local/sbin:$PATH"
Run Code Online (Sandbox Code Playgroud)

安装zsh:

brew install zsh
Run Code Online (Sandbox Code Playgroud)

将默认shell设置为zsh:

chsh -s /usr/local/bin/zsh $USER
Run Code Online (Sandbox Code Playgroud)

最后设置了从brew安装中使用zsh的权限.将"/ usr/local/bin/zsh"添加到"/ etc/shells"文件以允许zsh.否则,您将收到错误消息"您无权运行此应用程序.管理员已将您的shell设置为非法值."

echo "/usr/local/bin/zsh" | sudo tee -a /etc/shells
Run Code Online (Sandbox Code Playgroud)

我建议修复OSX中的zsh环境错误.将/ etc/zshenv重命名为/ etc/zshrc

sudo mv /etc/{zshenv,zshrc}
Run Code Online (Sandbox Code Playgroud)

重新登录OSX,它应该工作!

如果遇到问题,请键入:

brew doctor
Run Code Online (Sandbox Code Playgroud)

  • 实际上,在你可以更改shell之前,需要将`/ usr/local/bin/zsh`添加到`/ etc/shells`,以便可以通过`chsh`选择它. (10认同)
  • 只是想在Mac上投入更改用户默认shell的"官方"方式是在"系统偏好设置"的"帐户"面板中右键单击您的名称("更改已解锁")并更改高级选项下的默认shell.我不确定这是否与使用chsh完全相同. (4认同)

Bur*_*lid 2

我会尝试回答您的问题,但我感觉这更适合超级用户

安装 ZSH 最干净的方法是什么?(来自 git、homebrew、curl-ing 源?)

随心所欲地获取源;但最干净的方法是创建一个私人的bin,我喜欢/Users/burhan/bin/,并在那里安装东西。在我看来,这是最干净最简单的方法,因为您不需要依赖其他库/安装程序/魔术。

在哪里运行安装命令重要吗?

不,您为命令提供的参数确实很重要 - 特别是目标安装位置和库路径。如果您不提供这些(或事先在环境中设置它们),安装程序会将项目放置在默认系统路径中;为此,需要以提升的权限运行安装程序,即sudoroot.

如何升级或覆盖 Mountain Lion 附带的 ZSH 版本?

我建议不要升级它;只是因为我不确定它会对期望它随广告版本一起发布的各种其他脚本产生什么副作用。为了你的理智,我会避免这种情况。

相反,如果您构建并将其安装到专用垃圾箱中并PATH适当地指向您的;您可以使用更新的版本,而无需修改已发布的版本。