web-dev-qa-db-fra.com

Comprendre les dépendances de l'homebrew et du fût

J'ai récemment commencé à utiliser l'homebrew, et je suis un peu confus quant à ce qui se passe lorsque j'injecte quelque chose sur mon système, mais ses dépendances sont uniquement des fûts, ce qui signifie qu'elles sont liées sous /usr/local.

Par exemple, je suis installer vips (une bibliothèque de traitement d'image). Une de ses nombreuses dépendances est pixman. Pixman est installé en tant que fût uniquement parce qu'apparemment, Mac OSX (Snow Leopard dans ce cas) est déjà fourni (ou une version de celui-ci).

Est-ce que cela signifie que vips utilisera la version système de pixman? Si c'est le cas, n'y a-t-il pas de problèmes de version liés à l'utilisation de la version système plutôt que de la version de dépendance (en supposant qu'ils soient différents)?

109
cgat

Pour qu’un logiciel ne contienne que des "fûts", cela signifie qu’il est installé dans /usr/local/Cellar mais pas lié à des endroits comme /usr/local/bin, /usr/local/lib, etc. Cela signifie que les autres logiciels qui en dépendent doivent être compilés avec des instructions spécifiques pour utiliser les fichiers de /usr/local/Cellar. Cela se fait automatiquement par brew install quand une formule spécifie des dépendances uniquement en fûts.

Les formules qui spécifient des dépendances uniquement en fûts garantissent 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 /usr/local/Cellar/pixman/<version>, il n'est donc pas affecté par la version système de pixman ni par aucune autre version Homebrew de pixman que vous pourriez installer.

179
echristopherson