¿Cómo puedo evitar que Homebrew instale un duplicado del software que instalé por otros medios?


12

Me gusta usar Homebrew para instalar el software Unix en mi Mac, y aprecio que no intente instalar múltiples copias de cosas como Python. Sin embargo, hay algunos paquetes que ya instalé manualmente, y no quiero que Homebrew instale sus propias copias.

En mi situación actual, instalé OCaml usando el instalador estándar. Ahora quiero instalar Coq a través de Homebrew. Veo brew deps coqque depende de OCaml. Sé que puedo decirle que omita la instalación de OCaml esta vez a través de brew install --ignore-dependencies coq. Sin embargo, prefiero no tener que hacer eso cada vez que instalo un paquete Homebrew que requiere OCaml.

¿Cómo puedo hacer que Homebrew finja que instaló el software que instalé por otros medios, para que no intente instalar una copia duplicada?

Respuestas:


14

Tome la ruta que utilizó --prefix=durante su ./configurey sym-link que en el Cellar/directorio que está utilizando Homebrew. Homebrew verá estos directorios y verá las dependencias como satisfechas (a menos que necesite compilarlas con o sin ciertas características para que las fórmulas de Homebrew se compilen correctamente). Si sus deps compilados manualmente no se compilan correctamente, probablemente obtendrá errores de Homebrew.

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

(Tenga en cuenta la barra diagonal final en la primera ruta y la falta de la barra diagonal final en la segunda. OS X puede ser exigente con estas barras diagonales cuando se crean enlaces simbólicos).

Esta es la forma incorrecta de hacerlo, solo deberías estar usando --ignore-dependencies coq, para eso está.


1
Buena respuesta de lo que se preguntó, pero también un puntero a la forma recomendada de suprimir ciertas dependencias.
bmike

Esta es una solución muy buena para mí después de pasar horas instalando las dependencias de Octave que incluían el gcc elussive (una alternativa al sonido metálico // LLVM) ...
nyxee
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.