Homebrew establece enlaces blandos en su carpeta bin específicamente para tratar con diferentes versiones de paquetes instalados:
~ ls -l $(which rsync)
lrwxr-xr-x 1 andyg admin 31 25 Aug 11:49 /opt/homebrew/bin/rsync -> ../Cellar/rsync/3.2.5/bin/rsync
Añadiendo sólo el /opt/homebrew/bin
al $PATH significa que también te pierdes las páginas man e info. brew shellenv
proporciona las adiciones de ruta correctas. p. ej.
~ brew shellenv
export HOMEBREW_PREFIX="/opt/homebrew";
export HOMEBREW_CELLAR="/opt/homebrew/Cellar";
export HOMEBREW_REPOSITORY="/opt/homebrew";
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin${PATH+:$PATH}";
export MANPATH="/opt/homebrew/share/man${MANPATH+:$MANPATH}:";
export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}";
No se utiliza directamente, pero se añade un comando que lo llama a los archivos de inicio del shell. Así que sólo hay que invocar correctamente el comando brew shellenv
es necesario para configurar las variables de entorno relevantes. Esto es lo que se sugiere al final del brew install script.... (De una pregunta muy destacada en la columna de Relacionados (64 votos) https://apple.stackexchange.com/a/430904/221742 )
Para un Mac M1 (y asumiendo zsh):
~ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
~ eval "$(/opt/homebrew/bin/brew shellenv)"
Entonces (en mi experiencia) cierre su Terminal, tal vez incluso log off / on, a pesar de que el segundo comando debe configurar el $PATH inmediatamente para la sesión actual.
Esta adición sólo ha sido necesaria desde que el brebaje pasó de ser un simple vertido en /usr/local
en concreto (Intel) /usr/local/homebrew
y (Apple Silicon) /opt/homebrew
. Antes el bin se encontraba en el $PATH por defecto. Ahora hay que añadirlo especialmente.