3 votos

He instalado la aplicación con brew, pero ahora dice que no la encuentra.

He instalado una aplicación (dsniff) usando brew, pero cuando intento ejecutarla me sale un error de "Comando no encontrado". Incluso he probado a ir al directorio en el que se instaló:

/usr/local/Cellar/dsniff/2.4b1/sbin/

confirmando que estaba ahí (lo está) y ejecutándolo, pero me da el mismo error. ¿Alguna idea de por qué puede ocurrir esto?

4voto

P.T. Puntos 1429

Dsniff enlaza sus programas con /usr/local/sbin en lugar de /usr/local/bin . El directorio sbin/ es para cosas más orientadas al sysadmin y no está en el camino para las cuentas no root. La mayoría de las otras fórmulas de Homebrew no se enlazan allí.

Dsniff incluso le advertirá sobre esto durante la instalación.

$ brew install dsniff
==> Downloading http://monkey.org/~dugsong/dsniff/beta/dsniff-2.4b1.tar.gz
#
[ ... ]
==> make install
Warning: /usr/local/sbin is not in your PATH
You can amend this by altering your ~/.bashrc file
==> Summary
/usr/local/Cellar/dsniff/2.4b1: 35 files, 420K, built in 11 seconds

Por lo tanto, añada /usr/local/sbin a su ruta en el mismo lugar en el que añade /usr/local/bin , probablemente en ~/.bashrc y recogerás a dsniff.

En general, cuando te encuentras con cosas como esta, y no estás seguro de dónde fueron los archivos, puedes usar find para buscarlos. Para Homebrew, siempre estarán en algún lugar de /usr/local, si es que están en algún lugar.

$ find /usr/local -name dsniff
/usr/local/Cellar/dsniff
/usr/local/Cellar/dsniff/2.4b1/sbin/dsniff
/usr/local/Library/LinkedKegs/dsniff
/usr/local/opt/dsniff
/usr/local/sbin/dsniff

2voto

OJ. Puntos 16939

Puedes intentar enlazar manualmente el ejecutable dsniff .

ln -s /usr/local/Cellar/dsniff/2.4b1/dsniff /usr/local/bin/dsniff

Esto crea un enlace de vuelta al archivo original en Cellar pero su shell será capaz de encontrarlo en su ruta, porque /usr/local/bin suele estar en él.

Después de hacerlo, puede llamar a dsniff desde cualquier lugar.

1voto

Jon W Puntos 7032

Si alguien más está teniendo problemas y su $PATH variable ya está bien, sugeriría:

brew unlink dsniff
brew link dsniff

Esto me funcionó cuando tuve un problema similar.

0voto

sroecker Puntos 101

Consulte /usr/local/bin y está en su $PATH ? Asegúrese de que /usr/local/bin es antes de /usr/bin .

Para una comprobación rápida (no permanente), ejecute export PATH=/usr/local/bin:$PATH en el shell actual y volver a intentar ejecutar el comando.

0voto

bilalq Puntos 109

Como mencionó kukoo, parece que no tienes /usr/local/bin en su ruta. Para que puedas ejecutar fácilmente las aplicaciones que has instalado desde brew, ejecuta este comando:

echo "export PATH=/usr/local/bin:\$PATH" >> $HOME/.bashrc

Eso debería aclararte.

En cuanto a por qué no se ejecutaba después de estar en el mismo directorio, probablemente sea por la forma en que lo referenciabas. ¿Acompañaste el nombre del binario con ./ ?

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