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

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

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 ...


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

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

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

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

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.


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"

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.)


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/


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.