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
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
.1 votos
@jaume: Salida:
-rwxr-x---@ 1 john admin 4.9K May 22 07:03 /opt/homebrew/bin/brew
4 votos
Si solo ocurre una vez dentro de una nueva pestaña, hay algo en tus archivos de inicio que llama a brew antes de que la ruta se establezca correctamente.
2 votos
.bashrc
se carga primero para cada shell interactivo que no sea de inicio de sesión. Esto es para la(s) pestaña(s) que abres después de la primera..bash_profile
se carga en el inicio de sesión para el shell interactivo (primero). ¿Dónde en.bash_profile
cargas.bashrc
? ¿Puedes publicar tu.bash_profile
y.bashrc
en pastebin u otro sitio similar?0 votos
Creo que tu she-bang está incorrecto en .bashrc. Escribe
which bash
y compara la primera línea con esa salida.0 votos
@Allan: ¿te refieres a la primera línea? Eso es solo un comentario que puse en el pegar para señalar el archivo. No está en mi
.bashrc
. De todos modos, lo revisé y parece estar bien.0 votos
La shebang es la línea que comienza con
#!
. ¿Coincide esa ruta con lo que obtienes enwhich bash
?0 votos
@Allan: sí coincide.
0 votos
La shebang solo la utilizo si el nombre de archivo que usé como comando en la línea de comandos. Por lo tanto, no se utiliza en archivos de inicio