Come posso impedire a Homebrew di installare un duplicato del software che ho installato con altri mezzi?


12

Mi piace usare Homebrew per installare il software Unix sul mio Mac e apprezzo che non cerchi di installare più copie di cose come Python. Ci sono alcuni pacchetti che ho già installato manualmente, tuttavia, e non voglio che Homebrew ne installi le proprie copie.

Nella mia situazione attuale, ho installato OCaml usando il programma di installazione standard. Ora voglio installare Coq tramite Homebrew. Vedo brew deps coqche dipende da OCaml. So che posso dirlo per saltare l'installazione di OCaml questa volta tramite brew install --ignore-dependencies coq. Tuttavia, preferirei non doverlo fare ogni volta che installo un pacchetto Homebrew che richiede OCaml.

Come posso fare in modo che Homebrew faccia finta di aver installato un software che ho installato con altri mezzi, in modo che non tenti di installare una copia duplicata?

Risposte:


14

Prendi il percorso che hai usato --prefix=durante il tuo ./configuree sym-link che nella Cellar/directory che Homebrew sta usando. Homebrew vedrà queste directory e vedrà le dipendenze soddisfatte (a meno che non sia necessario averle compilate con o senza determinate funzionalità per far compilare correttamente le formule di Homebrew). Se i tuoi deps compilati manualmente non sono compilati correttamente, probabilmente otterrai errori da Homebrew.

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

(Nota la barra finale sul primo percorso e la mancanza di barra finale sul secondo. OS X può essere esigente su queste barre quando si creano collegamenti simbolici.)

Questo è il modo sbagliato di farlo, dovresti semplicemente usare --ignore-dependencies coq- ecco a cosa serve.


1
Bella risposta a ciò che è stato chiesto, ma anche un puntatore al modo consigliato per sopprimere determinate dipendenze.
bmike

Questa è un'ottima soluzione per me dopo aver trascorso ore a installare dipendenze per Octave che includeva elussive gcc (un'alternativa a clang // LLVM) ...
nyxee
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.