I installed some packages via brew. But I can not find where they are.
I can not get access by typing hping
on terminal
% brew install hping
(git)-[master]
Warning: hping-3.20051105 already installed
Ask Different is a question and answer site for power users of Apple hardware and software. It only takes a minute to sign up.
Sign up to join this communityUse the following to show the installation path of a package:
brew info hping
Example output:
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
echo "$(brew --cellar llvm)/$(brew list --versions llvm | tr ' ' '\n' | tail -1)/bin/clang"
brew --prefix hping
(from @capripot's answer) may do the trick.
Jan 4, 2019 at 17:59
To figure out where your formula is installed, do
brew --prefix hping
You can also relink your hping
binary by doing brew unlink hping && brew link hping
Also maybe your $PATH
is not well defined. Does the list given by echo $PATH
contains the result given by echo $(brew --prefix)'/bin:'$(brew --prefix)'/sbin'
? This path should be toward the beginning of the list to be prioritized over system binaries, surely before /usr/bin
.
To do so, you can add this at the end of your ~/.zshrc
or ~/.bashrc
:
export PATH=$(brew --prefix)/bin:$(brew --prefix)/sbin:$PATH
As a result, after opening a new terminal or doing source ~/.zshrc
, you'll be able to echo your correct path as:
$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
The /usr/local/Cellar
directory is the default location on OS X. You'll see sub-directories in there for all your installed formulae.
Normally, homebrew
installs packages into /usr/local/bin
. So you need to check that your PATH contains that directory, like this:
echo $PATH
Also, try running
brew doctor
to make sure your setup is correct. If /usr/local/bin
is not in your PATH, you need to edit ~/.profile
and add a line like this:
export PATH=$PATH:/usr/local/bin
Then start a new Terminal (in order to re-read your login profile) and try again.
If all that fails, it must be installed somewhere else. You can search for it by running a command like this:
sudo find / -name hping -type f
/usr/local/Cellar
as @PapaStanley points out.
ls -ld /usr/local/bin
it looks like a regular directory?
/usr/local/bin
is a symlink, the files inside that directory placed there by Brew are symlinks.
Try this command
brew --cellar <FORMULA>
e.g.
brew --cellar hping
To find your base installation directory for Homebrew, use one of the following commands:
brew --prefix
brew --cellar
The latter specifically returns the path of your Cellar
folder.
I couldn't find any direct CLI option in brew
to get the full path to the currently installed version of a formula but this would work as long as you are using bash:
echo $(brew --cellar asciidoctor)/$(brew info --json asciidoctor | jq -r '.[0].installed[0].version')
# /usr/local/Cellar/asciidoctor/1.5.8
Inspired by @RubenLaguna, I came up with this to get the full path to the installed version of the default formula.
As shown in previous answers, to get the install path for a formula:
brew --prefix nmap
Returns a symlink to the install path:
/usr/local/opt/nmap
To expand the full path:
readlink -f $(brew --prefix nmap)
/usr/local/Cellar/nmap/7.92
hping requires root privileges to run.
You probably need to add /usr/local/sbin to your PATH.
When I ran brew doctor:
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
I recommend adding the following line to your ~/.bash_profile
(or the equivalent configuration file if you are using a different shell):
export HOMEBREW_CASK_OPTS="--appdir=/Applications"
I installed some packages via brew. But I can not find where they are.
It seems that homebrew requires one to be explicit with things. Fortunately, a bit of escaping using brew --prefix
can make this a no-brainer, for those who need to find the path for the pkg-config utility, e.g.
PKG_CONFIG_PATH=`brew --prefix hping`/lib/pkgconfig/ pkg-config --cflags hping
(Except this isn't going to work anyway, because it seems hping doesn't come with hping.pc .. although, in the case where package maintainers do put .pc files, this trick can be useful.)
If someone looking for real path of package:
In my case brew --cellar opencv3
gives /usr/local/Cellar/opencv
But find /usr/local/Cellar/ -type d -name "*opencv*" -maxdepth 1
gives
/usr/local/Cellar//opencv3
(which is /usr/local/Cellar/opencv3
actually).
Headers:
/usr/local/Cellar/opencv3/3.4.1_1/include/
Libs:
/usr/local/Cellar/opencv3/3.4.1_1/lib/
For anyone that lands here after googling, and/or for anyone who wants a list of packages that are installed as keg only, you can get this info from the brew
JSON output.
List all installed packages:
brew info --json --installed
List keg only packages (jq
tool required):
brew info --json --installed | jq -r '.[] | select(.keg_only == true) | .name'
List the path for keg only packages (again, jq
tool required):
brew info --json --installed | jq -r '.[] | select(.keg_only == true) | .name' | while read name; do brew --prefix $name; done
brew list opencv
Output like this:
/usr/local/Cellar/opencv/4.5.2_4/bin/opencv_annotation
/usr/local/Cellar/opencv/4.5.2_4/bin/opencv_interactive-calibration
/usr/local/Cellar/opencv/4.5.2_4/bin/opencv_model_diagnostics
...
My brew version:
brew -v
> Homebrew 3.2.1
/usr/local/Cellar/hping/3.20051105/sbin/hping
daemonize
, this answer helped me understand that daemonize is installed in/usr/local/sbin
that was not in the PATH