148 votes

Comprendre les dépendances homebrew et keg-only

J'ai récemment commencé à utiliser homebrew, et je suis un peu confus quant à ce qui se passe lorsque je brasse quelque chose sur mon système, mais que ses dépendances brassées sont keg-only, ce qui signifie qu'elles sont liées sous /usr/local .

Par exemple, j'installe vips (une bibliothèque de traitement d'images). L'une de ses nombreuses dépendances est pixman. Pixman est installé en tant que keg-only parce qu'apparemment Mac OSX (Snow Leopard dans ce cas) est déjà livré avec lui (ou une version de celui-ci).

Cela signifie-t-il que Vips utilisera la version système de Pixman ? Si c'est le cas, n'y a-t-il pas des problèmes potentiels de versionnage liés à l'utilisation de la version système plutôt que de la version de dépendance (en supposant qu'elles soient différentes) ?

241voto

echristopherson Points 2794

Pour un logiciel, être "keg-only" signifie qu'il est installé dans /usr/local/Cellar mais no liés à des endroits comme /usr/local/bin , /usr/local/lib etc. Cela signifie que d'autres logiciels qui en dépendent doivent être compilés avec des instructions spécifiques pour utiliser les fichiers de /usr/local/Cellar . C'est fait automatiquement par brew install lorsqu'une formule spécifie des dépendances de type "keg-only".

Les formules qui spécifient des dépendances de type keg-only s'assurent que les bibliothèques système équivalentes ne sont pas utilisées. Votre installation de vips est liée à une version spécifique de pixman dans le fichier /usr/local/Cellar/pixman/<version> Il n'est donc pas affecté par la version système de pixman ou toute autre version Homebrew de pixman que vous pourriez installer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X