Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PSA: Mac OS X El Capitan upgrade might break your $PATH

On Fri, Jul 31, 2015 at 6:35 PM, Kurtis Rader <krader@xxxxxxxxxxxxx> wrote:
> A public service announcement for those running Zsh on Mac OS X.
> Upgrading to El Capitan (OS X 10.11) will install a /etc/zprofile that
> contains
>     # system-wide environment settings for zsh(1)
>     if [ -x /usr/libexec/path_helper ]; then
>        eval `/usr/libexec/path_helper -s`
>     fi
> On a new login shell that will be sourced after your $HOME/.zshenv. If you
> set your $PATH in your .zshenv the /usr/libexec/path_helper program will
> alter the order of the directories. The order appears random so it's
> probably using a hashed set to avoid having the same directory appear more
> than once in the result.
> You can't remove /usr/libexec/path_helper due to the new security
> mechanisms (at least not without booting from a recovery disk) but you can
> remove /etc/zprofile which is what I did to keep my $PATH from being mucked
> with.

That's good news, they used to have that code in /etc/zshenv which
meant you had _no_ way to override it. It only took them a few years
to fix this.

As a sidenote, it's not a great idea to set your path in .zshenv, you
should probably move those settings to your .zprofile. (Otherwise,
running a script that uses zsh will not use the $PATH from the
environment, which can break things in some situations).

Mikael Magnusson

Messages sorted by: Reverse Date, Date, Thread, Author