我在OS X上使用了带有oh-my-zsh的ZSH。我如何让ZSH使用最新的git版本?
今天我用hombrew更新到最新版本的git(1.8.something)。
但是,如果我跑
➜ ~ git --version
git version 1.7.10.2 (Apple Git-33)
我看还是旧版本使用。在bash上,一切正常,最新版本的git被调用。
因为我是ZSH的新手,所以关于如何设置ZSH来使用“新”git的建议值得赞赏!
最佳,
托比
我在OS X上使用了带有oh-my-zsh的ZSH。我如何让ZSH使用最新的git版本?
今天我用hombrew更新到最新版本的git(1.8.something)。
但是,如果我跑
➜ ~ git --version
git version 1.7.10.2 (Apple Git-33)
我看还是旧版本使用。在bash上,一切正常,最新版本的git被调用。
因为我是ZSH的新手,所以关于如何设置ZSH来使用“新”git的建议值得赞赏!
最佳,
托比
如果PATH修改没有立即生效,您需要认识到,使用zsh,您需要为zsh键入“rehash”来识别路径中有新的可执行文件。或者只是注销并返回。
在bash
和zsh
比较的which git
的输出(和的echo "$PATH"
的输出)。
包含最新的git
的目录可能不存在于$PATH
变量zsh
,但它在bash
。这可能是由$PATH
项目添加到您的~/.bashrc
和/或~/.bash_profile
文件中引起的,其中zsh
在启动时不会获得源代码。如果是这样,同样的分配PATH
添加到您的~/.zshrc
那么,我们在同一时间给出了基本相同的答案:) - 除了'.zshenv'优于'.zshrc',因为后者只能在交互式shell中运行。 – Dougal 2013-02-12 06:36:37
这意味着你的$PATH
变量没有设置包括右git
(以及其他一切自制软件安装)。
试着从bash和zsh做echo $PATH
。你至少应该看到一个区别:安装自制软件的目录,可能是/usr/local/bin
。 (这将既不会在那里,或者是/usr/bin
,其中苹果公司提供的二进制生活后。)
要修复它,就像
export PATH=/usr/local/bin:$PATH
添加一行到您的~/.zshenv
。
感谢您的回答!它还没有工作,但我现在知道我必须走哪个方向! – 2013-02-12 06:50:22
谢谢你对我的作品。 – buk 2013-08-18 18:08:24
终于回到了这个问题。它在我的'〜/ .zshrc'文件中添加上面的行后工作! – 2013-12-22 15:33:02
感谢您的评论!我也试过你的方法,甚至重新启动了几次,但到目前为止,我对〜/ .zshenv的补充似乎被忽略了。 – 2013-02-13 10:25:47
@ tobias.henn'echo $ PATH'说什么?它是否完全排除了您在.zshenv中放置的所有内容?如果你手动设置它,比如'export PATH =/usr/local/whereyourgitis:$ PATH','rehash',用你安装新版本git的路径替换路径,它会运行正确的版本吗? – 2013-02-13 12:29:21
FWIW:'rehash'实际上并不会改变您输入时被调用的二进制文件,例如: 'git',它只是改变zsh知道自动完成和什么的知识。 – Dougal 2013-02-17 06:58:27