首页 文章

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

提问于
浏览
25

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)

Items of note to help answerers:
我没有运行安装命令的错误 .

/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

My $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 I need answered
1.安装ZSH最简洁的方法是什么? (来自git,自制软件,卷曲源?)
2.运行安装命令的位置是否重要?
3.如何升级或覆盖Mountain Lion附带的ZSH版本?
这就是人们最终使用oh-my-zsh的原因吗?

4 回答

  • 2

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

    chsh -s /usr/local/bin/zsh $USER
    

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

    Homebrew方式

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

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

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

    PATH="/usr/local/bin:/usr/local/sbin:$PATH"
    

    安装zsh:

    brew install zsh
    

    将默认shell设置为zsh:

    chsh -s /usr/local/bin/zsh $USER
    

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

    echo "/usr/local/bin/zsh" | sudo tee -a /etc/shells
    

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

    sudo mv /etc/{zshenv,zshrc}
    

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

    如果遇到问题,请键入:

    brew doctor
    
  • 0

    好的,所以Burhan的评论让我想起了一种情况,我必须明确地将首选版本的路径添加到我的 .bash_profile . 版本5.0.0在 /usr/local/bin 中,所以现在我的 .bash_profile 中的 $PATH 看起来像这样:

    export PATH="$HOME/.rbenv/bin:/usr/local/bin:$PATH"

    现在当我运行 which zsh 时,我得到 /usr/local/bin/zsh
    zsh --version 返回 zsh 5.0.0 (x86_64-apple-darwin12.0.0) .

    活泉!希望这有助于遇到同样问题的人 .

  • 2

    我会尝试回答你的问题,但我觉得这更适合superuser

    安装ZSH最简洁的方法是什么? (来自git,自制软件,卷曲源?)

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

    运行安装命令的位置是否重要?

    不,您为命令提供的参数确实很重要 - 尤其是目标安装位置和库路径 . 如果您不提供这些(或事先在环境中设置它们),安装程序会将项目放在默认系统路径中;要做到这一点,你需要使用提升的权限运行安装程序,即使用 sudo 或以 root 登录 .

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

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

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

  • 49

    过去,我提出的这种升级解决方案大致如下:

    • 在某处安装较新版本(在我的情况下是fink / sw / bin的默认版本)

    • 在/ bin / bin / zsh => /bin/zsh.moved中重命名操作系统安装的版本

    • 在/ bin中设置符号链接到/ sw / bin / zsh安装

    这似乎有效 .

    我想知道的是这是否是一个愚蠢的解决方案,如果是,为什么?谢谢

相关问题