Comment puis-je empêcher Homebrew d'installer un doublon de logiciel que j'ai installé par d'autres moyens?

12

J'aime utiliser Homebrew pour installer le logiciel Unix sur mon Mac, et j'apprécie qu'il n'essaie pas d'installer plusieurs copies de choses comme Python. Il y a cependant certains packages que j'ai déjà installés manuellement, et je ne veux pas que Homebrew en installe ses propres copies.

Dans ma situation actuelle, j'ai installé OCaml à l'aide du programme d'installation standard. Maintenant, je veux installer Coq via Homebrew. Je vois via brew deps coqque cela dépend d'OCaml. Je sais que je peux lui dire de sauter l'installation d'OCaml cette fois via brew install --ignore-dependencies coq. Cependant, je préfère ne pas avoir à le faire à chaque fois que j'installe un package Homebrew qui nécessite OCaml.

Comment puis-je faire croire à Homebrew qu'il a installé un logiciel que j'ai installé par d'autres moyens, afin qu'il n'essaye pas d'installer une copie en double?

Jay Lieske
la source

Réponses:

14

Prenez le chemin que vous avez utilisé --prefix=pendant votre ./configureet faites un lien symbolique vers le Cellar/répertoire que Homebrew utilise. Homebrew verra ces répertoires et verra les dépendances satisfaites (sauf si vous devez les avoir compilés avec ou sans certaines fonctionnalités pour que les formules de Homebrew se compilent correctement). Si vos dépôts compilés manuellement ne sont pas compilés correctement, vous obtiendrez probablement des erreurs de Homebrew.

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

(Notez la barre oblique de fin sur le premier chemin et l'absence de barre oblique de fin sur le second. OS X peut être pointilleux sur ces barres obliques lors de la création de liens symboliques.)

Ce n'est pas la bonne façon de le faire, vous devez simplement utiliser --ignore-dependencies coq- c'est pour cela que c'est là.

Bryson
la source
1
Belle réponse à ce qui a été demandé, mais aussi un pointeur sur la façon recommandée de supprimer certaines dépendances.
bmike
Ceci est une très bonne solution pour moi après avoir passé des heures à installer des dépendances pour Octave qui incluait le guss elussive (une alternative à clang // LLVM) ...
nyxee