Aplicación instalada usando brew, ¿pero ahora está diciendo que no puede encontrarla?

3

He instalado una aplicación (dsniff) utilizando brew, pero cuando intento ejecutarlo obtengo el error "Comando no encontrado". Incluso intenté ir al directorio en el que estaba instalado:

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

confirmando que estaba allí (está) y ejecutándolo, pero aparece el mismo error. ¿Alguna idea de por qué sucedería esto?

    
pregunta Abe Miessler 02.01.2013 - 06:15

5 respuestas

4

Dsniff vincula sus programas a /usr/local/sbin en lugar de /usr/local/bin . sbin / directory es para más cosas orientadas a sysadmin y no está en la ruta de las cuentas no root. La mayoría de las otras fórmulas de Homebrew no se enlazan allí.

Dsniff incluso te 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

Entonces, agregue /usr/local/sbin a su ruta en el mismo lugar donde agrega /usr/local/bin , probablemente en ~/.bashrc , y recogerá dsniff.

En general, cuando ejecutas este tipo de cosas 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 bajo / usr / local, si están en cualquier 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
    
respondido por el Andrew Janke 25.04.2013 - 20:12
2

Puedes intentar vincular manualmente el ejecutable dsniff .

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

Esto crea un enlace al archivo original en Cellar , pero su shell podrá encontrarlo en su ruta, porque /usr/local/bin generalmente está en él.

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

    
respondido por el slhck 02.01.2013 - 23:44
0

Marque /usr/local/bin y ¿está en su $PATH ? Asegúrate de que /usr/local/bin esté antes de /usr/bin .

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

    
respondido por el kukoo 02.01.2013 - 08:41
0

Como mencionó kukoo, parece que no tienes /usr/local/bin en tu camino. Para que pueda ejecutar fácilmente las aplicaciones que ha instalado desde brew, ejecute este comando:

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

Eso debería ponerte claro.

En cuanto a por qué no se ejecutó después de estar en el mismo directorio, probablemente se deba a la forma en que lo estaba haciendo referencia. ¿Prefacio el nombre binario con ./ ?

    
respondido por el bilalq 02.01.2013 - 11:30
0

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

brew unlink dsniff
brew link dsniff

Esto me funcionó cuando tuve un problema similar.

    
respondido por el peter 19.04.2014 - 20:57

Lea otras preguntas en las etiquetas