我在Mac OS X 10.8.3上使用Homebrew。 Homebrew希望PATH中的/usr/local/bin
目錄早於/usr/bin
,否則將使用系統提供的程序代替自制軟件管理的替換。設置zsh PATH不生成所需的順序
我使用的zsh,在我.zshenv
我重置路徑,然後用path_helper初始化它,就像這樣:
if [ -x /usr/libexec/path_helper ]; then
PATH=''
eval `/usr/libexec/path_helper -s`
fi
在.zshenv
緊接着這個,另外,我在前面加上/usr/local/bin
到路徑。
export PATH="/usr/local/bin:$PATH"
$ PATH還有其他各種補充。 RVM,/usr/local/sbin
和我個人的bin
目錄:
export PATH=$HOME/.rvm/bin :$PATH
...
export PATH=$PATH:/usr/local/sbin:$HOME/bin
最後,我用typeset -u
從路徑中刪除任何重複(雖然他們是從哪裏來的是一個謎給我)。
typeset -U PATH
這一切以後這裏就是我的道路是什麼樣子:
/Users/mark/.rvm/gems/ruby-1.9.3-p374/bin
/Users/mark/.rvm/gems/[email protected]/bin
/Users/mark/.rvm/rubies/ruby-1.9.3-p374/bin
/Users/mark/.rvm/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/local/sbin
/Users/mark/bin
我知道/etc/paths
設置這些路徑:
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
所以我編輯該文件並刪除/usr/local/bin' option so that the only place it is being set is in
.zshenv`。
所有這些都包含在GitHub(https://github.com/zan5hin/dotfiles)的我的dotfile存儲庫中,並在兩臺筆記本電腦上使用。在第一臺筆記本電腦上,路徑是正確的,/usr/local/bin
緊隨RVM條目。在第二臺筆記本電腦上,它顯示如上所述。
當zsh配置是完全相同的副本時,我無法解釋第二臺計算機上路徑不正確的原因。
任何人都可以提出爲什麼路徑會出現故障嗎?
謝謝。
按照這個問題的指導(http://stackoverflow.com/questions/10343834/homebrew-wants-me-to-amend-my-path-no-clue-how)和編輯/ etc /路徑文件將'/ usr/local/bin'移動到列表的頭部,我就可以讓兩臺機器都具有匹配和正確的路徑。我仍然不明白爲什麼從我的'.zshenv'輸出路徑不能按預期工作。 –