OSX の path_helper と zsh の組み合わせが難しかった
rbenv とか plenv で Ruby や Perl をインストールして使うときに、login shell の zsh では $HOME/.rbenv/shims/ruby が見えてるのに、screen 起動すると /usr/bin/ruby になっちゃってアレーってなってちょっと調べた。
結論から言うと path_helper というものがあって、これを使うと /etc/paths や /etc/paths.d に定義したパスを $PATH に設定する仕組みになっていて、/etc/zshenv でこれを読んでいるんだけど、それは /etc/zprofile で呼ぶべきとかナントカで、とても面倒な話だった。
- https://github.com/sstephenson/rbenv/issues/366
- https://github.com/sstephenson/rbenv/wiki/Unix-shell-initialization
ついでに brew 使ってるんで、/etc/paths も /usr/local/bin が優先されるように変更しつつ、zshenv を移動して回避(?)できた。
$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin
$ sudo mv /etc/{zshenv,zprofile}
$ screen