zshenv
é de fato lido por todas as instâncias do shell, mas é lido primeiro , antes de qualquer outra coisa. Seu $PATH
provavelmente está sendo redefinido em zprofile
( ~/.zprofile
ou /etc/zprofile
, ...).
zshenv
não é um bom local para definir seu $PATH
. Ele pertence a zprofile
, que tem o trabalho de configurar o ambiente no login. Definir variáveis de ambiente em zshenv
significa, entre outras coisas, que elas serão prejudicadas ao executar scripts zsh
ou zsh
em uma única sessão.