Apakah ada cara untuk mengetahui brew
paket mana yang menyediakan file yang diberikan (seperti apt-file
di Ubuntu atau pkgfile
di Arch)?
Saya tidak berbicara tentang permintaan paket yang diinstal secara lokal yang memiliki file di sistem saya, saya punya file tertentu yang perlu saya instal ( /usr/local/lib/libboost_python.dylib
lebih spesifik) dan ingin tahu paket jarak jauh mana yang akan menyediakan file itu.
boost
selama Anda mengkonfigurasinya--with-python
. Akan tetap menyenangkan untuk mengetahui apakah ada cara untuk menanyakan file mana yang disediakan oleh file mana ...boost-python
sebagai gantinya.Jawaban:
Tidak ada. Tidak ada apa pun di Homebrew yang menyimpan daftar file yang diizinkan atau diharapkan diinstal oleh suatu paket.
sumber
Seperti yang dinyatakan dalam jawaban ini, Anda dapat melakukan
ls -l /usr/local//lib/whatever
dan melihat ke mana symlink menunjuk.sumber
ls -l $(which somecommand)
Meskipun tidak ada alat seperti apt-search yang memungkinkan seseorang untuk menemukan paket homebrew publik yang dapat menyediakan file, banyak paket pembuatan didasarkan pada linux atau unix counterpart. Anda dapat mencari situs web paket Debian untuk menemukan paket yang dibutuhkan.
Contoh untuk menemukan paket yang menyediakan file goocanvas.pc
https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=contents&keywords=goocanvas.pc
Mengembalikan libgoocanvas-dev
brew search
tidak memiliki hasil untuk libgoocanvas-dev atau libgoocanvas tetapi tidak memiliki paket goocanvas .Anda dapat mendefinisikan perintah
ineed
sebagai berikut yang akan mengembalikan daftar dari debian.org menggunakanineed goocanvas.pc
:sumber
Meskipun tidak ada
brew
perintah bawaan untuk mencari file tertentu, Anda bisa menggunakan kombinasibrew list
danbrew list <formula>
untuk mendapatkan jawabannya. Butuh beberapa saat, tetapi jika Anda melakukan pembersihan dan harus menjawab pertanyaan seperti ini lebih dari sekali, Anda mungkin melakukan apa yang kadang-kadang saya lakukan: membuat katalog file berdasarkan paket:Jika Anda mengarahkan output skrip ini ke file, Anda dapat menggunakannya untuk mencari paket yang menyediakan file yang diinginkan.
sumber
Berikut ini adalah satu-liner yang saya miliki di
bin
direktori saya untuk tujuan ini:sumber