2013-02-12 84 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

相關問題