Como posso impedir que o Homebrew instale uma duplicata de software que instalei por outros meios?


12

Gosto de usar o Homebrew para instalar o software Unix no meu Mac e aprecio o fato de ele não tentar instalar várias cópias de coisas como Python. No entanto, existem alguns pacotes que eu já instalei manualmente e não quero que o Homebrew instale suas próprias cópias deles.

Na minha situação atual, instalei o OCaml usando o instalador padrão. Agora eu quero instalar o Coq via Homebrew. Vejo via brew deps coqque depende do OCaml. Eu sei que posso dizer para pular a instalação do OCaml dessa vez brew install --ignore-dependencies coq. No entanto, prefiro não ter que fazer isso toda vez que instalo um pacote Homebrew que requer OCaml.

Como posso fazer o Homebrew fingir que instalou o software que eu instalei por outros meios, para não tentar instalar uma cópia duplicada?

Respostas:


14

Pegue o caminho que você usou --prefix=durante o ./configuree sym-link que está no Cellar/diretório que o Homebrew está usando. O Homebrew verá esses diretórios e as dependências como satisfeitas (a menos que você precise que elas sejam compiladas com ou sem certos recursos para fazer com que as fórmulas do Homebrew sejam compiladas corretamente). Se seus deps compilados manualmente não forem compilados corretamente, você provavelmente obterá erros do Homebrew.

ln -s /path/from/prefix/ /usr/local/Cellar/path/from/prefix

(Observe a barra final no primeiro caminho e a falta de barra final no segundo. O OS X pode ser exigente quanto a essas barras ao criar links sym.)

Esta é a maneira errada de fazer isso, você deveria apenas estar usando --ignore-dependencies coq- é para isso que existe.


1
Boa resposta do que foi solicitado, mas também um indicador da maneira recomendada de suprimir certas dependências.
bmike

Esta é uma solução muito boa para mim depois que eu passei horas instalando dependências para Octave que incluíam o gcc elussive (uma alternativa à clang // LLVM) ...
nyxee
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.