OS XでZshのPATHがどうもおかしいと思ったら…

最近Zshを5.0にしたときにHomeBrewの出したメッセージを見て、何も考えずにその指示に従っていたのがいけなかった。

If you have administrator privileges, you must fix an Apple miss
configuration in Mac OS X 10.7 Lion by renaming /etc/zshenv to
/etc/zprofile, or Zsh will have the wrong PATH when executed
non-interactively by scripts.

Appleの設定はおかしいので/etc/zshenv/etc/zprofileにすべきというものである。

このファイルの中身はなんとPATHを書き換えるコマンドを実行するものであった。
これが実行されると/usr/binなどが前に来て困ったことになる。
私は~/.zshenvPATHの設定を書いており、 実行順序的に/etc/zprofileの方が後なので~/.zshenvに書いたPATHが上書きされてしまった!(なんてこったい)

HomeBrewのメッセージをよく見ると後半に変なPATHが設定されたときのことが書かれていた。(「or Zsh」以降)

Alternatively, install Zsh with /etc disabled:

  brew install --disable-etcdir zsh

というわけで--disable-etcdirオプション付きでZshをインストールし直すことで呆気なく解決したのであった。めでたし。