Di mana saya dapat menemukan jalur paket yang diinstal melalui minuman

142

Saya menginstal beberapa paket melalui minuman. Tetapi saya tidak dapat menemukan di mana mereka berada.

Saya tidak bisa mendapatkan akses dengan mengetik hpingdi terminal

% brew install hping
(git)-[master] 
Warning: hping-3.20051105 already installed
poc
sumber
Hping saya dipasang di/usr/local/Cellar/hping/3.20051105/sbin/hping
Mateusz Szlosek
Saya memiliki masalah yang sama dengan daemonize, jawaban ini membantu saya memahami bahwa daemonize diinstal pada /usr/local/sbinyang tidak ada di PATH
jakub.g

Jawaban:

179

Gunakan yang berikut ini untuk menunjukkan jalur instalasi paket:

brew info hping

Contoh 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
nyi
sumber
9
Apakah mungkin hanya mendapatkan jalur? Dalam kasus saya, saya ingin menggunakan dentang dari llvm dan setelah "brew install llvm" dentang masih apel, tetapi satu dari binari llvm adalah apa yang saya butuhkan.
okutane
1
BTW brew doctormungkin membantu Anda memahami masalah juga.
jakub.g
3
@okutane Anda harus merakit jalannya sendiri. Sebagai contoh kasar, Anda bisa melakukannyaecho "$(brew --cellar llvm)/$(brew list --versions llvm | tr ' ' '\n' | tail -1)/bin/clang"
nburr
Tergantung pada kebutuhan spesifik Anda, brew --prefix hping(dari jawaban @ capripot) dapat melakukan trik.
Waldyrious
24

/ usr / local / Cellar adalah lokasi default di OS X. Anda akan melihat subdirektori di sana untuk semua rumus yang Anda instal ...

Papa Stanley
sumber
20

Untuk mencari tahu di mana formula Anda dipasang, lakukan brew --prefix hping

Anda juga dapat menautkan kembali hpingbiner dengan melakukannyabrew unlink hping && brew link hping

Mungkin juga Anda $PATHtidak didefinisikan dengan baik. Apakah daftar yang diberikan oleh echo $PATHberisi hasil yang diberikan oleh echo $(brew --prefix)'/bin:'$(brew --prefix)'/sbin'? Jalur ini harus menuju awal daftar untuk diprioritaskan di atas binari sistem, tentunya sebelumnya /usr/bin.

Untuk melakukannya, Anda dapat menambahkan ini di akhir ~/.zshrcatau ~/.bashrc:

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

Akibatnya, setelah membuka terminal baru atau melakukan source ~/.zshrc, Anda akan dapat mengulangi jalur yang benar sebagai:

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
Capripot
sumber
1
Terima kasih, brew --prefix <command>persis apa yang saya butuhkan.
Waldyrious
6

Biasanya, homebrewinstal paket ke dalam /usr/local/bin. Jadi, Anda perlu memeriksa bahwa PATH Anda berisi direktori itu, seperti ini:

echo $PATH

Juga, coba jalankan

brew doctor

untuk memastikan pengaturan Anda sudah benar. Jika /usr/local/bintidak ada dalam PATH Anda, Anda perlu mengedit ~/.profiledan menambahkan baris seperti ini:

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

Kemudian mulai Terminal baru (untuk membaca kembali profil login Anda) dan coba lagi.

Jika semua itu gagal, itu harus dipasang di tempat lain. Anda dapat mencarinya dengan menjalankan perintah seperti ini:

sudo find / -name hping -type f
Mark Setchell
sumber
2
Ini adalah symlink. Paket-paket aktual ada di dalam /usr/local/Cellarseperti yang ditunjukkan @PapaStanley.
Steve
@ Seveve mengapa kemudian ketika saya melakukannya ls -ld /usr/local/bintampak seperti direktori biasa?
barlop
5

Coba perintah ini

brew --cellar <FORMULA>

misalnya

brew --cellar hping
ultraon
sumber
Sebagai alternatif, brew --prefix hpingmungkin bermanfaat juga.
Waldyrious
1

hping membutuhkan hak akses root untuk dijalankan.

Anda mungkin perlu menambahkan / usr / local / sbin ke PATH Anda.

Ketika saya menjalankan pembuatan bir:

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
sumber
1

Untuk menemukan direktori instalasi dasar Anda untuk Homebrew, gunakan salah satu dari perintah berikut:

brew --prefix
brew --cellar

Yang terakhir secara khusus mengembalikan jalur Cellarfolder Anda .

Adam Erickson
sumber
0

Saya sarankan menambahkan baris berikut ke Anda ~/.bash_profile(atau file konfigurasi yang setara jika Anda menggunakan shell yang berbeda):

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

Saya menginstal beberapa paket melalui minuman. Tetapi saya tidak dapat menemukan di mana mereka berada.

Tampaknya homebrew mengharuskan seseorang untuk eksplisit dengan hal-hal. Untungnya, sedikit melarikan diri dari penggunaan brew --prefixdapat menjadikan hal ini tidak sulit, bagi mereka yang perlu menemukan jalan untuk utilitas pkg-config, mis.

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

(Kecuali ini tidak akan berhasil, karena sepertinya hping tidak datang dengan hping.pc .. walaupun, dalam kasus di mana pengelola paket menaruh file .pc, trik ini dapat bermanfaat.)

ibisum
sumber
0

Jika seseorang mencari jalur sebenarnya dari paket:

Dalam kasus saya brew --cellar opencv3memberi/usr/local/Cellar/opencv

Tapi find /usr/local/Cellar/ -type d -name "*opencv*" -maxdepth 1memberi

/usr/local/Cellar//opencv3(yang /usr/local/Cellar/opencv3sebenarnya).

Tajuk:

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

Libs:

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

mrgloom
sumber
0

Saya bisa menemukan opsi CLI langsung brewuntuk mendapatkan path lengkap ke versi formula yang saat ini diinstal tetapi ini akan berfungsi selama Anda menggunakan bash:

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