Wo finde ich den installierten Paketpfad über Brew

142

Ich habe einige Pakete über brew installiert. Aber ich kann nicht finden, wo sie sind.

Ich kann nicht durch Tippen hpingauf das Terminal zugreifen

% brew install hping
(git)-[master] 
Warning: hping-3.20051105 already installed
poc
quelle
Mein HPing ist installiert in/usr/local/Cellar/hping/3.20051105/sbin/hping
Mateusz Szlosek
Ich hatte das gleiche Problem mit daemonize, diese Antwort hat mir geholfen zu verstehen, dass daemonize installiert ist /usr/local/sbin, das nicht im PATH
jakub.g 28.02.17

Antworten:

178

Verwenden Sie Folgendes, um den Installationspfad eines Pakets anzuzeigen:

brew info hping

Beispielausgabe:

pcre: stable 8.35 (bottled)
http://www.pcre.org/
/usr/local/Cellar/pcre/8.35 (146 files, 5.8M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/pcre.rb
==> Options
--universal
    Build a universal binary
Nyi
quelle
9
Ist es möglich, nur Pfad zu bekommen? In meinem Fall möchte ich clang von llvm verwenden und nach "brew install llvm" ist clang immer noch ein Apfel, aber eines von llvm-Binärdateien ist das, was ich brauche.
Okutane
1
BTW brew doctorkönnte Ihnen helfen, Probleme zu verstehen.
Jakub.g
3
@okutane Sie müssten den Pfad selbst zusammenstellen. Als krasses Beispiel, könnten Sie tunecho "$(brew --cellar llvm)/$(brew list --versions llvm | tr ' ' '\n' | tail -1)/bin/clang"
nburr
Abhängig von Ihren spezifischen Anforderungen kann brew --prefix hping(aus der Antwort von @ capripot) der Trick sein.
Waldyrious
24

/ usr / local / Cellar ist der Standardspeicherort unter OS X. Dort finden Sie Unterverzeichnisse für alle Ihre installierten Formeln ...

Papa Stanley
quelle
20

Um herauszufinden, wo Ihre Formel installiert ist, tun Sie Folgendes brew --prefix hping

Sie können Ihre hpingBinärdatei auch neu verknüpfen, indem Sie Folgendes tunbrew unlink hping && brew link hping

Vielleicht ist Ihr auch $PATHnicht gut definiert. Enthält die Liste von echo $PATHdas Ergebnis von echo $(brew --prefix)'/bin:'$(brew --prefix)'/sbin'? Dieser Pfad sollte sich am Anfang der Liste befinden, um vor System-Binärdateien Vorrang zu haben /usr/bin.

Dazu können Sie dies am Ende Ihrer ~/.zshrcoder hinzufügen ~/.bashrc:

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

Infolgedessen können Sie nach dem Öffnen eines neuen Terminals oder source ~/.zshrcnach einer Aktion Ihren korrekten Pfad wie folgt wiedergeben:

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
Capripot
quelle
Danke, brew --prefix <command>war genau das, was ich brauchte.
Waldyrious
6

Installiert normalerweise homebrewPakete in /usr/local/bin. Sie müssen also überprüfen, ob Ihr PATH dieses Verzeichnis enthält:

echo $PATH

Versuchen Sie auch, auszuführen

brew doctor

um sicherzustellen, dass Ihr Setup korrekt ist. Wenn /usr/local/bines sich nicht in Ihrem PATH befindet, müssen Sie ~/.profileeine Zeile wie die folgende bearbeiten und hinzufügen:

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

Starten Sie dann ein neues Terminal (um Ihr Anmeldeprofil erneut zu lesen) und versuchen Sie es erneut.

Wenn das alles fehlschlägt, muss es woanders installiert werden. Sie können danach suchen, indem Sie einen Befehl wie diesen ausführen:

sudo find / -name hping -type f
Mark Setchell
quelle
2
Dies sind Symlinks. Die eigentlichen Pakete sind in, /usr/local/Cellarwie @PapaStanley unterstreicht.
Steve
@ Steve, warum ist es dann, dass, wenn ich es tue, ls -ld /usr/local/bines wie ein reguläres Verzeichnis aussieht?
Barlop
5

Versuchen Sie diesen Befehl

brew --cellar <FORMULA>

z.B

brew --cellar hping
ultraon
quelle
Alternativ brew --prefix hpingkann auch hilfreich sein.
Waldyrious
1

Für die Ausführung von HPING sind Root-Berechtigungen erforderlich.

Wahrscheinlich müssen Sie Ihrem PATH / usr / local / sbin hinzufügen.

Als ich Brew Doctor rannte:

Warning: Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting the PATH for example like so
    echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile
jyap
quelle
1

Verwenden Sie einen der folgenden Befehle, um Ihr Basisinstallationsverzeichnis für Homebrew zu finden:

brew --prefix
brew --cellar

Letzterer gibt speziell den Pfad Ihres CellarOrdners zurück.

Adam Erickson
quelle
0

Ich empfehle, die folgende Zeile zu Ihrer ~/.bash_profile(oder der entsprechenden Konfigurationsdatei, wenn Sie eine andere Shell verwenden) hinzuzufügen :

export HOMEBREW_CASK_OPTS="--appdir=/Applications"
Shoaib Ud-Din
quelle
0

Ich habe einige Pakete über brew installiert. Aber ich kann nicht finden, wo sie sind.

Es scheint, dass Homebrew erfordert, dass man explizit mit Dingen umgeht. Glücklicherweise kann ein bisschen Flucht vor der Verwendung brew --prefixdies zu einem Kinderspiel machen, für diejenigen, die den Pfad für das Hilfsprogramm pkg-config finden müssen, z

PKG_CONFIG_PATH=`brew --prefix hping`/lib/pkgconfig/ pkg-config --cflags hping

(Außer dies wird sowieso nicht funktionieren, da hping anscheinend nicht mit hping.pc geliefert wird. In dem Fall, in dem Paketbetreuer .pc-Dateien ablegen, kann dieser Trick jedoch nützlich sein.)

ibisum
quelle
0

Wenn jemand auf der Suche nach einem echten Paketpfad ist:

In meinem Fall brew --cellar opencv3gibt/usr/local/Cellar/opencv

Aber es find /usr/local/Cellar/ -type d -name "*opencv*" -maxdepth 1gibt

/usr/local/Cellar//opencv3(was /usr/local/Cellar/opencv3eigentlich ist).

Überschriften:

/usr/local/Cellar/opencv3/3.4.1_1/include/

Bibliotheken:

/usr/local/Cellar/opencv3/3.4.1_1/lib/

mrgloom
quelle
0

Ich könnte eine direkte CLI-Option finden brew, um den vollständigen Pfad zur aktuell installierten Version einer Formel abzurufen, aber dies würde funktionieren, solange Sie bash verwenden:

echo $(brew --cellar asciidoctor)/$(brew info --json asciidoctor | jq -r '.[0].installed[0].version')
# /usr/local/Cellar/asciidoctor/1.5.8
ecerulm
quelle