5

Mac OS X 10.8.3 で Homebrew を使用しています。Homebrew/usr/local/binは PATH で よりも前のディレクトリを必要/usr/binとします。そうしないと、Homebrew が管理する置換の代わりにシステム提供のプログラムが使用されます。

私はzshを.zshenv使用しています.PATHをリセットしてから、次のようにpath_helperを使用して初期化します:

if [ -x /usr/libexec/path_helper ]; then
  PATH=''
  eval `/usr/libexec/path_helper -s`
fi

これに続いて、同じく で、PATH の.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、PATH から重複を削除します (ただし、それらがどこから来ているのかは謎です)。

typeset -U PATH 

このすべての後、ここに私のPATHがどのように見えるかがあります:

/Users/mark/.rvm/gems/ruby-1.9.3-p374/bin
/Users/mark/.rvm/gems/ruby-1.9.3-p374@global/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 ) に含まれており、2 台のラップトップで使用されています。最初のラップトップでは、パスは正しく、/usr/local/binRVM エントリの直後にあります。2 番目のラップトップでは、上記で説明したように表示されます。

zsh構成が同一のコピーである場合、2番目のマシンでパスが正しくない理由を説明するのに途方に暮れています。

パスが故障する理由を誰かが提案できますか?

ありがとう。

4

2 に答える 2