Existe uma maneira de descobrir qual brew
pacote fornece um determinado arquivo (como apt-file
no Ubuntu ou pkgfile
no Arch)?
Não estou falando sobre consultar qual pacote instalado localmente possui um arquivo no meu sistema, tenho um arquivo específico que preciso instalar ( /usr/local/lib/libboost_python.dylib
para ser específico) e quero saber qual pacote remoto forneceria esse arquivo.
boost
desde que você o configure--with-python
. Ainda seria bom saber se havia uma maneira de consulta que arquivos são fornecidos por quais arquivos ...boost-python
.Respostas:
Não há. Nada no Homebrew mantém uma lista de arquivos que um pacote tem permissão ou espera instalar.
fonte
Conforme indicado nesta resposta, você pode fazer
ls -l /usr/local//lib/whatever
e ver para onde o link simbólico aponta.fonte
ls -l $(which somecommand)
Embora não exista uma ferramenta apt-search like que permita encontrar pacotes homebrew públicos que possam fornecer um arquivo, muitos pacotes brew são baseados em uma contrapartida linux ou unix. Você pode pesquisar no site do pacote Debian para encontrar o pacote necessário.
Exemplo para encontrar o pacote que fornece o arquivo goocanvas.pc
https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=contents&keywords=goocanvas.pc
Retorna libgoocanvas-dev
brew search
não possui resultados para libgoocanvas-dev ou libgoocanvas, mas possui um pacote goocanvas .Você pode definir um comando da
ineed
seguinte maneira que retornaria uma lista do debian.org usandoineed goocanvas.pc
:fonte
Embora não exista um
brew
comando interno para procurar um arquivo específico, você pode usar uma combinação debrew list
ebrew list <formula>
obter a resposta. Demora um pouco, mas se você estiver fazendo uma limpeza e precisar responder a esse tipo de consulta mais de uma vez, faça o que fiz algumas vezes: faça um catálogo de arquivos por pacote:Se você redirecionar a saída desse script para um arquivo, poderá usá-lo para procurar o pacote que fornece o arquivo de interesse.
fonte
Aqui está o one-liner que tenho no meu
bin
diretório exatamente para esse fim:fonte