Después de ~/.zshenv
se obtiene, el siguiente archivo que se carga es /etc/zprofile
que proporciona MacOS. Este script ejecuta
eval `/usr/libexec/path_helper -s`
El manual de path_helper
explica:
La utilidad path_helper lee el contenido de los archivos en los directorios /etc/paths.d
y /etc/manpaths.d
y añade su contenido al PATH
y MANPATH
variables de entorno, respectivamente.
...
Antes de leer estos directorios, por defecto PATH
y MANPATH
se obtienen de los archivos /etc/paths
y /etc/manpaths
respectivamente.
En mi opinión no está claro en la descripción, pero path_helper
parece reconstruirse PATH
en el siguiente orden:
- Directorios listados en el archivo
/etc/paths
- Los directorios que aparecen en los archivos de
/etc/paths.d
(nota: los archivos no se enumeran en orden)
- Cualquier otro directorio que estuviera previamente en el
PATH
variable, excluyendo las que aparecen en las listas anteriores
Por lo tanto, path_helper
termina moviendo Homebrew al final de PATH
.
La solución es hacer la inicialización de la ruta en ~/.zprofile
en MacOS. Este archivo se carga después de /etc/zprofile
y antes ~/.zshrc
.