2013-02-12 90 views
2

我在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的建议值得赞赏!

最佳,

托比

回答

3

如果PATH修改没有立即生效,您需要认识到,使用zsh,您需要为zsh键入“rehash”来识别路径中有新的可执行文件。或者只是注销并返回。

+0

感谢您的评论!我也试过你的方法,甚至重新启动了几次,但到目前为止,我对〜/ .zshenv的补充似乎被忽略了。 – 2013-02-13 10:25:47

+0

@ tobias.henn'echo $ PATH'说什么?它是否完全排除了您在.zshenv中放置的所有内容?如果你手动设置它,比如'export PATH =/usr/local/whereyourgitis:$ PATH','rehash',用你安装新版本git的路径替换路径,它会运行正确的版本吗? – 2013-02-13 12:29:21

+0

FWIW:'rehash'实际上并不会改变您输入时被调用的二进制文件,例如: 'git',它只是改变zsh知道自动完成和什么的知识。 – Dougal 2013-02-17 06:58:27

1

bashzsh比较的which git的输出(和的echo "$PATH"的输出)。

包含最新的git的目录可能不存在于$PATH变量zsh,但它在bash。这可能是由$PATH项目添加到您的~/.bashrc和/或~/.bash_profile文件中引起的,其中zsh在启动时不会获得源代码。如果是这样,同样的分配PATH添加到您的~/.zshrc

+1

那么,我们在同一时间给出了基本相同的答案:) - 除了'.zshenv'优于'.zshrc',因为后者只能在交互式shell中运行。 – Dougal 2013-02-12 06:36:37

6

这意味着你的$PATH变量没有设置包括右git(以及其他一切自制软件安装)。

试着从bash和zsh做echo $PATH。你至少应该看到一个区别:安装自制软件的目录,可能是/usr/local/bin。 (这将既不会在那里,或者是/usr/bin,其中苹果公司提供的二进制生活后。)

要修复它,就像

export PATH=/usr/local/bin:$PATH 

添加一行到您的~/.zshenv

+0

感谢您的回答!它还没有工作,但我现在知道我必须走哪个方向! – 2013-02-12 06:50:22

+0

谢谢你对我的作品。 – buk 2013-08-18 18:08:24

+0

终于回到了这个问题。它在我的'〜/ .zshrc'文件中添加上面的行后工作! – 2013-12-22 15:33:02

相关问题