3 votes

J'ai installé l'application en utilisant brew, mais maintenant elle dit qu'elle ne peut pas la trouver ?

J'ai installé une application (dsniff) en utilisant brew, mais lorsque j'essaie de l'exécuter, j'obtiens une erreur "Command not found". J'ai même essayé d'aller dans le répertoire où elle a été installée :

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

en confirmant qu'il était là (il l'est) et en l'exécutant, mais je reçois la même erreur. Avez-vous une idée de la raison pour laquelle cela se produit ?

3 votes

Votre formule n'était pas liée à /usr/bin . Essayez brew link dsniff . Cela fonctionne-t-il ou obtenez-vous une erreur ?

0 votes

J'ai fait une erreur : Warning: Already linked: /usr/local/Cellar/dsniff/2.4b1 To relink: brew unlink dsniff && brew link dsniff

0 votes

Est-ce que ça marche si on refait le lien ? Ou affiche-t-il des messages d'erreur ? Pouvez-vous exécuter /usr/local/Cellar/dsniff/2.4b1/dsniff directement ? (Exécuter littéralement ceci)

4voto

P.T. Points 1629

Dsniff lie ses programmes à /usr/local/sbin au lieu de /usr/local/bin . Le répertoire sbin/ est pour des choses plus orientées sysadmin et n'est pas sur le chemin pour les comptes non-Root. La plupart des autres formules Homebrew ne sont pas liées à cet endroit.

Dsniff vous en avertit même pendant l'installation.

$ 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

Alors, ajoutez /usr/local/sbin à votre chemin au même endroit que vous ajoutez /usr/local/bin probablement en ~/.bashrc et vous récupérerez dsniff.

En général, lorsque vous rencontrez ce genre de problème, et que vous n'êtes pas sûr de l'endroit où les fichiers sont allés, vous pouvez utiliser find pour les rechercher. Pour Homebrew, ils seront toujours quelque part sous /usr/local, s'ils sont quelque part.

$ 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. Points 16939

Vous pouvez essayer de lier manuellement l'exécutable dsniff .

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

Cela crée un lien vers le fichier d'origine dans la base de données de la Commission européenne. Cellar mais votre shell pourra le trouver dans son chemin, car /usr/local/bin y est généralement.

Après avoir fait cela, vous pouvez appeler dsniff de n'importe où.

0 votes

Hrrm, cela me donne toujours une erreur de commande non trouvée.

0 votes

Qu'est-ce que echo $PATH vous donner ?

0 votes

/Users/abe/.rvm/gems/ruby-1.9.3-p286/bin:/Users/abe/.rvm/gems/ruby-1.9.3-p286@global/bin:/Users/abe/.rvm/rubies/ruby-1.9.3-p286/bin:/Users/abe/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin

2voto

Jon W Points 7032

Si quelqu'un d'autre a des problèmes et que son $PATH variable est déjà bien, je dirais :

brew unlink dsniff
brew link dsniff

Cela a fonctionné pour moi lorsque j'ai eu un problème similaire.

0voto

kukoo Points 1714

Vérifiez /usr/local/bin et est-ce que c'est dans votre $PATH ? Assurez-vous que /usr/local/bin est avant /usr/bin .

Pour une vérification rapide (non-permanente), exécutez export PATH=/usr/local/bin:$PATH dans le shell actuel et réessayer d'exécuter la commande.

0 votes

Ok, je suis allé à /usr/local/bin et dsniff n'est pas là. Est-ce que cela pourrait être mon problème ?

0voto

bilalq Points 109

Comme kukoo l'a mentionné, il semble que vous n'ayez pas /usr/local/bin sur votre chemin. Pour que vous puissiez facilement exécuter les applications que vous avez installées à partir de brew, exécutez cette commande :

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

Cela devrait vous mettre sur la voie.

Quant à la raison pour laquelle il ne s'est pas exécuté après avoir été dans le même répertoire, c'est probablement à cause de la façon dont vous l'avez référencé. Avez-vous fait précéder le nom du binaire de ./ ?

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X