3 votos

Nueva pestaña de iTerm2 muestra 'brew: comando no encontrado' después de actualizar PHP aunque brew está instalado e incluido en PATH.

Estoy al final de mi cuerda aquí y espero que ustedes puedan ayudar.

Uso el paquete bash-completion a través de brew, y, después de esta mañana, recibo este mensaje cuando abro una nueva pestaña de iTerm2:

-bash: brew: comando no encontrado

Después, puedo ejecutar brew sin errores.

Tengo este bloque if en mi archivo .bashrc, que es cargado por .bash_profile:

if [ -r "/opt/homebrew/etc/profile.d/bash_completion.sh" ]
then
  source "/opt/homebrew/etc/profile.d/bash_completion.sh"
fi

De repente esto no es suficiente, lo cual es confuso porque siempre ha estado funcionando hasta esta mañana. Instalé la última versión de PHP esta mañana, ejecuté brew doctor y agregué /opt/homebrew/sbin a mi $PATH, eliminé PHP y paquetes huérfanos pero nada parece cambiar el mensaje que recibo.

Si elimino la declaración if arriba, el mensaje desaparece.

No tengo ni idea de cómo ni por qué y me preguntaba si alguien puede ayudarme.

echo $PATH:

/opt/homebrew/bin:/opt/homebrew/sbin:/Users/john/.bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin

type brew:

brew es /opt/homebrew/bin/brew

ls -l /opt/homebrew/bin/brew?:

-rwxr-x---@ 1 john  admin   4.9K May 22 07:03 /opt/homebrew/bin/brew
  • Pegado de mi .bashrc: enlace
  • Pegado de mi .bash_profile: enlace

0 votos

Si el tipo funciona, ¿no debería también funcionar la elaboración?

0 votos

¿Puedes publicar la salida de ls -l /opt/homebrew/bin/brew?

0 votos

@nohillside: De hecho, y sí funciona. Es solo extraño que cada nueva pestaña que abro en iTerm2 muestre el mensaje -bash: brew: comando no encontrado.

3voto

yoliho Puntos 340

El problema es que cuando intentas ejecutar el archivo bash_completion.sh, brew no está en tu $PATH.

La solución es mover la línea donde estableces $PATH para que esté antes de la prueba para el archivo bash_completion.sh, es decir, tu .bashrc tiene estos comandos como

# Agregar brew y $HOME/bin al $PATH
export PATH="/opt/homebrew/bin:""/opt/homebrew/sbin:""$HOME/.bin"":$PATH"

# Completado de Bash
if [ -r "/opt/homebrew/etc/profile.d/bash_completion.sh" ]
then
  source "/opt/homebrew/etc/profile.d/bash_completion.sh"
fi

0 votos

Esto resolvió mis problemas al instante. Gracias a todos por ayudarme.

1 votos

/opt/homebrew/etc/profile.d/bash_completion.sh es solo un envoltorio para /opt/homebrew/Cellar/bash-completion/1.3_3/etc/bash_completion. Curiosamente, brew parece no ser llamado desde ninguno de ellos. Pero hey, si funciona, genial :-)

0 votos

@nohillside: De hecho, me alegra que ese molesto mensaje haya desaparecido, pero aún me rasco la cabeza preguntándome cómo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X