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

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

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


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

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

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

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

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 .


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"

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


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/


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.