MacPorts vs. Fink vs. Homebrew [dupliquer]

39

Cette question a déjà une réponse ici:

J'ai toujours utilisé MacPorts pour installer et gérer mes compilateurs GCC et d'autres programmes. Maintenant, j'ai entendu parler de Fink et Homebrew. Il semble que ces deux utilitaires gagnent du terrain dans la communauté Mac, mais je ne comprends pas la différence entre eux.

Quelle est la principale différence entre MacPorts, Fink et Homebrew? Y a-t-il une différence de qualité ou de performance?


la source
3
Il y a aussi Rudix .
Lhf
4
Est -ce que cette question plus répondre à vos besoins?
bmike

Réponses:

30

Fink a été autour depuis au moins 2001. Fink et MacPorts sont gestionnaires qui veulent être « orthogonal » au système, qui est, ils installent leur propre version de python, perl, les bibliothèques, les compilateurs, etc. dans les propres arbres (/ sw pour Fink, / opt / local pour MacPorts). La raison en est qu’ils n’ont aucun contrôle sur ce qu’Apple fait de son logiciel et qu’il a de temps en temps eu des problèmes lorsque Apple a mis à jour ses propres logiciels.

D'après ce que j'ai compris, Homebrew souhaite être plus "intégré" au système, utilise les bibliothèques fournies par Apple et installe ses /usr/local/binfichiers dans d' autres dossiers standard. Cela signifie que le choix de logiciel est plus limité avec Homebrew, je ne peux pas imaginer que l'on puisse installer KDE avec, mais je n'ai pas essayé.

Un point pour Fink contre MacPorts: il y a quelques années, le projet Fink fournissait des packages binaires; c'est-à-dire que vous pouvez télécharger et installer les packages sans les compiler vous-même. Son gestionnaire de paquets a toujours cette capacité, à la différence qu'aucun fichier binaire n'était disponible depuis longtemps. Je ne sais pas si cela a changé entre-temps.

En bref: sans le binaire, Fink et MacPorts sont très similaires. Ils devraient avoir plus de paquets disponibles qu'Homebrew, alors qu'Homebrew devrait occuper moins d'espace disque pour les raisons que j'ai mentionnées ci-dessus. En ce qui concerne la qualité: je n’ai jamais installé Homebrew et entre Fink et MacPorts, je préfère généralement celui que je n’utilise pas actuellement.

Donc, si vous êtes satisfait de MacPorts, restez-y.

PS La raison pour laquelle je n’ai jamais essayé Homebrew, c’est que j’utilise des paquets précompilés. Celles-ci s’installent généralement aussi dans / usr / local / bin, etc.

Ulysse Percival
la source
Je pensais que vous deviez vous tromper à propos de KDE, mais c'est bien vrai. Il contenait autrefois des packages, mais apparemment, la construction de KDE est incompatible avec la hiérarchie de Homebrew. Espérons que cela sera corrigé un jour.
echristopherson
1
@echristopherson Donc, il a eu KDE une fois? Une surprise pour moi Mais KDE semble être assez fragile, je l’ai une fois installé avec Fink, et lors de la prochaine mise à jour, l’installation entière s’est égarée; Vous vous attendez donc à ce qu'il soit encore plus fragile avec Homebrew. Mais si tout se passe bien un jour, je retire tout ce que j'ai dit.
Percival Ulysses le
4
L’installation de Homebrew dans / usr / local est la même raison pour laquelle je ne l’utilise pas non plus. Fidèle à la philosophie unix traditionnelle, je ne devrais mettre que des éléments dans / usr / local. Un gestionnaire de paquets devrait gérer un autre préfixe.
Jason
Personnellement, j'utilise MacPorts, mais la dernière fois que j'ai vérifié (qui, il y a quelque temps), Fink disposait d'une collection de paquets beaucoup plus volumineuse.
HairOfTheDog
1
@ Jason Est-ce également vrai pour une machine mono-utilisateur? Je viens d'installer Homebrew et j'espère que je ne le regretterai pas. Je ne suis cependant pas très clair sur la manière dont apple gère les droits root et les utilisateurs dotés de privilèges administrateur. Je suis le seul utilisateur sur mon système.
Haziz
8

Je dirais que les principales différences sont: la
providence, le résultat et la méthode de distribution.

Le détail le plus important consistera pour vous à vérifier si le système que vous choisissez contient des packages pour le logiciel que vous souhaitez. Le nombre de paquets est d'environ: 19k Macports, 22k Fink, 3k Homebrew, 10k pkgsrc.

  • Macports , anciennement les ports Darwin, semble être un système de ports de style BSD tel que pkgsrc qui récupère le code source, le corrige, le construit et l’installe. Si cela ressemble beaucoup à pkgsrc, il utilisera des scripts shell. Il utilisait jadis les outils fournis par Xcode, mais cela posait problème, il peut maintenant aussi initialiser gcc. De plus, il existe des paquets binaires, mais vous ne pouvez pas toujours trouver la dernière version pour votre système. Il venait de Darwin, le BSD open source d’Apple basé sur le noyau OS X qui a cessé sa distribution. Il installe des packages sur /opt/locallesquels d'autres packages d'installation ou des mises à niveau système ne seront probablement pas affectés.
  • Fink , objet de l'étude de Charles Darwin, est un système de paquets basé sur le gestionnaire de paquets Debian, ce qui signifie qu'il présente une utilisation de dpkget que apt-getle principal avantage est que vous pouvez trouver des paquets binaires de manière fiable. En supposant que vous ayez un paquet en amont référentiel contenant les fichiers binaires de votre version actuelle du système d'exploitation. Il est également issu de la base d’utilisateurs de Darwin, mais probablement plus populaire auprès des utilisateurs de Debian Linux [pour mac ou PPC] à la recherche d’un support matériel un peu plus stable… tant qu’il a duré. Il installe les packages dans /swpour éviter de remplacer ou d’obtenir les informations que les autres installateurs pourraient installer. Également quelque chose sur les chemins de recherche du compilateur et la valeur par défaut PATHcontenant /usr/local/bindéjà.
  • Homebrew est une sorte de système de ports dans le concept, mais écrit en ruby. Il ne provient pas d'un monde OS autonome et était destiné aux utilisateurs de Mac OS X (les autres sont parfaitement utilisés et testés par les mêmes). À partir de la mi-2014, il essaye de construire pratiquement tous les paquets (ils les appellent des formules) bien que quelques-uns soient disponibles sous forme binaire appelée bouteilles, et vous pouvez créer un référentiel de bouteilles à partager dans votre groupe social si vous êtes enclin à la semi -Ne standardiser les chaînes d'outils de vos amis (idem pour les autres systèmes). Sur le plan positif, il repose sur autant de bibliothèques que celles que vous avez probablement déjà fournies par Apple. Je pense que vous n'avez pas besoin de Xcode pour que cela fonctionne dans la plupart des cas, mais cela le "soutient et le recommande". Vous pouvez installer chaque élément dans son propre préfixe,/usr/localJe pense qu'il a été lancé et est plus récent que les autres. J'ai personnellement découvert que je l'utilisais surtout parce que j'avais rarement besoin de paquetages interdépendants, et je ne vois pas dans quelle mesure mac homebrew le supporte. Homebrew a pour objectif de vous obliger à utiliser des gestionnaires de packages plus appropriés pour les logiciels provenant d'un gestionnaire étroitement couplé, tel que cpan, gems, etc.
  • pkgsrc serait disponible pour Mac OS X, aurait des paquetages binaires, et proviendrait de NetBSD qui le maintiendrait et le baserait à son tour sur le système de port de FreeBSD. NetBSD était tellement concentré sur la portabilité entre les architectures qu'il était probablement le meilleur système de port candidat pour commencer à prendre en charge d'autres plates-formes également. Dans ma description, ma description ressemble à Macport, mais je ne l’ai pas utilisée (sauf sur NetBSD), et je pense que cela installe /mais construit et maintient des paquets dans /pkg. Il y a probablement beaucoup de paquets (comme 12k) et environ 20% pourraient ne pas être compilés, ou la dernière version de la source pourrait ne pas appliquer le dernier correctif maintenu. C'est pourquoi les paquets binaires sont ma préférence avec ce type de système.

J'ai aussi utilisé perlbrew, qui est une sorte d’homebrew perl, des applications construites en perl et quelques dépendances. C'est principalement un bon moyen de maintenir plusieurs versions de perl, et cela évite de manière pratique le besoin de systèmes de paquets plus généraux (pour ce faire). Mais bien sûr, cela a aussi cpan et cpanminus .

Vous pourriez trouver des gestionnaires similaires pour votre propre mini-environnement (comme vundle pour vim, ou un bijou pour ruby, npm pour node.js, pypm ou pip pour python, go's Built -in go install... etc?)

Dlamblin
la source
Le nombre de paquets est trompeur car Homebrew n'inclut pas intentionnellement certaines classes de paquets - pour plus d' informations
Dan Dascalescu
5

Fink et MacPorts sont des concurrents directs en ce qu'ils installent un système orthogonal. Fink a perdu beaucoup de terrain au profit de MacPorts il y a plusieurs années. Je ne suis pas tout à fait sûr de savoir pourquoi maintenant, mais MacPorts a presque tout géré mieux.

Nous avons moins de raisons de choisir une installation orthogonale maintenant que Mac OS X est devenu un pantalon moins fou. Brew a été créé par otoh pour une meilleure intégration avec Mac OS X, ce qui le rend plus léger et moins orthogonal, et aussi parce que Rubyist réécrit tout.

En pratique, MacPorts est un peu plus compliqué, mais MacPorts fonctionne presque toujours, alors que Brew est plus simple mais plus susceptible de se heurter à un mur de briques.

Posez-vous ces questions:

  • Utilisez-vous de nombreux outils de l'écosystème Linux?
  • Avez-vous besoin de plusieurs versions?
  • Expérimentez-vous beaucoup avec de nouveaux outils?
  • Utilisez-vous des outils mathématiques / scientifiques / des bibliothèques ou d’autres outils inhabituels?

Si vous avez répondu oui, vous devriez choisir MacPorts. Brew est moins onéreux si vous installez relativement peu de paquetages communs, mais Brew ne gérera pas les complexités. Brew pollue /usr/localce que vous voudrez peut-être aussi pour les installations manuelles. En réalité, il existe des arguments plus détaillés pour MacPorts, mais là encore, ils ne s'appliquent probablement pas si vous avez répondu non.

Inversement, si vous répondez oui mais que votre machine principale fonctionne sous Linux et que votre Mac n’est qu’un jouet qui exécute un logiciel Linux minimal, vous ferez peut-être mieux avec Brew.

Jeff Burdges
la source
2

Mais en passant, rien dans Apple OS X ne s’installe dans / usr / local / bin. Ils utilisent / usr / lib, / usr / bin dans les coulisses et les frameworks sont emballés dans / Library / Frameworks tandis que tout ce que vous installez vous-même via le système Unix ./configure, make, make install utilisera / usr / local / bin, etc. et des utilitaires tels que MacPorts utiliseront / opt / et éventuellement des packages pour votre ~ / Library / Frameworks /.

Ma recommandation est de rester avec MacPorts si c'est ce à quoi vous êtes habitué. La principale différence réside essentiellement dans le fait que MacPorts utilise un système plus proche de la mise en œuvre de l’arborescence de ports Unix / BSD avec des ports de FreeBSD, tandis que Fink utilise des applications portées à partir des archives Linux Debian et utilise le même système de gestionnaire de paquets que Linux Debian.

Chris
la source