271 votes

Où puis-je trouver le chemin du package installé via brew

J'ai installé quelques packages via brew. Mais je ne peux pas trouver où ils se trouvent.

Je ne peux pas y accéder en tapant hping dans le terminal

% brew install hping
(git)-[master] 
Avertissement : hping-3.20051105 est déjà installé

0 votes

Mon hping est installé dans /usr/local/Cellar/hping/3.20051105/sbin/hping

0 votes

J'ai eu le même problème avec daemonize, cette réponse m'a aidé à comprendre que daemonize est installé dans /usr/local/sbin qui n'était pas dans le PATH.

313voto

nyi Points 2651

Utilisez ce qui suit pour afficher le chemin d'installation d'un paquet :

brew info hping

Exemple de sortie :

pcre : stable 8.35 (bottled)
http://www.pcre.org/
/usr/local/Cellar/pcre/8.35 (146 fichiers, 5,8M) *
  Versé depuis une bouteille
Depuis : https://github.com/Homebrew/homebrew/blob/master/Library/Formula/pcre.rb
==> Options
--universal
    Construire un binaire universel

21 votes

Est-il possible d'obtenir seulement le chemin ? Dans mon cas, je veux utiliser clang de llvm et après "brew install llvm" clang est toujours celui d'Apple, mais celui des binaires llvm est celui dont j'ai besoin.

1 votes

Au fait, brew doctor pourrait vous aider à comprendre les problèmes également.

6 votes

@okutane Vous devriez assembler le chemin vous-même. Par exemple, vous pourriez faire écho "$(brew --cellar llvm)/$(brew list --versions llvm | tr ' ' '\n' | tail -1)/bin/clang"

60voto

RemotecUk Points 2038

Pour savoir où votre formule est installée, tapez brew --prefix hping

Vous pouvez également relinker votre binaire hping en tapant brew unlink hping && brew link hping

Il se peut aussi que votre $PATH ne soit pas bien défini. Est-ce que la liste donnée par echo $PATH contient le résultat donné par echo $(brew --prefix)'/bin:'$(brew --prefix)'/sbin'? Ce chemin devrait être au début de la liste pour être prioritaire par rapport aux binaires système, certainement avant /usr/bin.

Pour cela, vous pouvez ajouter ceci à la fin de votre fichier ~/.zshrc ou ~/.bashrc:

export PATH=$(brew --prefix)/bin:$(brew --prefix)/sbin:$PATH

Par conséquent, après avoir ouvert un nouveau terminal ou avoir tapé source ~/.zshrc, vous pourrez afficher votre chemin correct comme suit :

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

5 votes

Merci, brew --prefix était exactement ce dont j'avais besoin.

0 votes

Cela ne fonctionne pas pour les packages "cask".

1 votes

J'ai utilisé l'astuce ici pour résoudre une dépendance contre Postgres sur un M1 avec Monterey. Cela, plus brew info package comme mentionné ci-dessus, et ce FAQ, tout a éclairci les choses pour moi: docs.brew.sh/…

43voto

Papa Stanley Points 451

brew --cellar affiche le répertoire qui est l'emplacement par défaut sur macOS. Vous verrez des sous-répertoires contenant toutes vos formules installées.

0 votes

Pas sur les Mac M1.

12voto

michael23 Points 698

Essayez cette commande

brew --cellar 

par exemple

brew --cellar hping

1 votes

Sinon, brew --prefix hping peut également être utile.

1 votes

Merci beaucoup. Cela ne semble pas fonctionner pour les fûts. Une idée ?

10voto

Lance Harper Points 1622

Normalement, homebrew installe les packages dans /usr/local/bin. Vous devez donc vérifier que votre PATH contient ce répertoire, comme ceci :

echo $PATH

De plus, essayez d'exécuter

brew doctor

pour vous assurer que votre configuration est correcte. Si /usr/local/bin n'est pas dans votre PATH, vous devez modifier ~/.profile et ajouter une ligne comme celle-ci :

export PATH=$PATH:/usr/local/bin

Ensuite, démarrez un nouveau Terminal (afin de relire votre profil de connexion) et réessayez.

Si tout cela échoue, il doit être installé ailleurs. Vous pouvez le chercher en exécutant une commande comme celle-ci :

sudo find / -name hping -type f

2 votes

Il s'agit de liens symboliques. Les packages réels se trouvent dans /usr/local/Cellar comme le souligne @PapaStanley.

0 votes

@Steve pourquoi est-ce que lorsque je tape ls -ld /usr/local/bin cela ressemble à un dossier normal?

0 votes

@barlop Parce que ce n'est pas /usr/local/bin qui est un lien symbolique, les fichiers à l'intérieur de ce répertoire placés par Brew sont des liens symboliques.

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