236 votes

Quelle est la différence/utilisation de homebrew, macports ou autres outils d'installation de paquets ?

Je suis récemment passé d'Ubuntu à un Mac. J'ai été déçu que le mac n'ait pas le sudo apt-get pratique d'Ubuntu, j'ai entendu dire que je devrais utiliser homebrew mais je ne suis pas sûr de ce que homebrew ou macport font ?

144voto

noun Points 168

MacPorts est la voie à suivre.

1) Comme @user475443 l'a souligné, MacPorts a beaucoup plus de paquets. Avec brew, vous vous retrouverez piégé bientôt parce que la formule dont vous avez besoin n'existe pas.

2) MacPorts est une application native : C + TCL. Vous n'avez pas du tout besoin de Ruby. Pour installer Ruby sur Mac OS X, il faut puede ont besoin de MacPorts, alors choisissez MacPorts et vous serez heureux.

3) MacPorts est vraiment stable, en 8 ans je n'ai jamais eu de problème avec lui, et tout mon écosystème Unix repose sur lui.

4) Si vous êtes un développeur PHP, vous pouvez installer la dernière version d'Apache (Mac OS X utilise la 2.2), PHP et toutes les extensions dont vous avez besoin, puis mettre à niveau le tout avec une seule commande. Oubliez de faire la même chose avec Homebrew.

5) Groupes de soutien MacPorts.

foo@macpro:~/ port select --summary

Name        Selected      Options
====        ========      =======
db          none          db46 none
gcc         none          gcc42 llvm-gcc42 mp-gcc48 none
llvm        none          mp-llvm-3.3 none
mysql       mysql56       mysql56 none
php         php55         php55 php56 none
postgresql  postgresql94  postgresql93 postgresql94 none
python      none          python24 python25-apple python26-apple python27 python27-apple none

Si vous avez installé à la fois PHP55 et PHP56 (avec de nombreuses extensions différentes), vous pouvez passer de l'un à l'autre avec une seule commande. Toutes les extensions relatives font partie du groupe et elles seront activées dans le groupe choisi : php55 ou php56. Je ne suis pas sûr que Homebrew dispose de cette fonctionnalité.

6) Les rubistes aiment tout réécrire en Ruby, car la seule chose avec laquelle ils sont à l'aise est Ruby lui-même.

110voto

Burhan Khalid Points 50578

Homebrew et macports résolvent tous deux le même problème, à savoir l'installation de bibliothèques et d'utilitaires courants qui ne sont pas fournis avec osx.

Il s'agit généralement de bibliothèques liées au développement et l'utilisation la plus courante de ces outils est pour les développeurs travaillant sur osx.

Ils nécessitent tous les deux l'installation des outils de ligne de commande xcode (que vous pouvez télécharger séparément à partir de https://developer.apple.com/ ), et pour certains paquets spécifiques, vous aurez besoin de l'IDE xcode complet installé.

xcode peut être installé à partir du mac app store, c'est un téléchargement gratuit mais cela prend un certain temps puisque c'est environ 5GB (si je me souviens bien).

macports est une version osx de l'utilitaire de portage de BSD (comme osx est dérivé de BSD, c'était un choix naturel). Pour toute personne familière avec l'une des distributions BSD, macports se sentira comme à la maison.

Une différence majeure entre homebrew et macports ; et la raison pour laquelle je préfère homebrew est qu'il n'écrasera pas les choses qui devraient être installées "nativement" dans osx. Cela signifie que s'il y a un paquetage natif disponible, homebrew vous en informera au lieu de l'écraser et de causer des problèmes plus tard. Il installe également les bibliothèques dans l'espace utilisateur (ainsi, vous n'avez pas besoin d'utiliser "sudo" pour installer des choses). Cela aide également à se débarrasser des bibliothèques puisque tout est dans un chemin accessible pour vous.

homebrew bénéficie également d'une communauté d'utilisateurs plus active et ses paquets (appelés formules) sont mis à jour assez souvent.


macports n'écrase pas les paquets natifs d'OSX - il fournit ses propres paquets. version - C'est la raison principale pour laquelle je préfère macports à home-brew. vous devez être certain de ce que vous utilisez et les changements d'Apple à différents temps aux ports et ont été connus pour être des années derrière les mises à jour dans certains projets

Pouvez-vous donner une référence montrant que macports écrase les données natives d'OS X natifs ? Pour autant que je sache, toute l'installation de macports se fait dans /opt/local

Peut-être devrais-je préciser - je n'ai dit nulle part dans ma réponse que macports écrase les paquets natifs d'OSX. Ils installent tous deux des éléments séparément.

Homebrew vous prévient lorsque vous devez installer les choses "nativement" (en utilisant l'installateur préféré de la bibliothèque/l'outil) pour une meilleure compatibilité. C'est ce que je voulais dire. Il utilisera également autant de bibliothèques locales que possible qui sont disponibles dans OS X. De la wiki :

Nous n'aimons vraiment pas les doublons dans Homebrew/homebrew.

Cependant, nous aimons les dupes dans le robinet !

qui est fourni avec OS X ou est une bibliothèque qui est fournie par RubyGems, CPAN ou PyPi ne doivent pas être dupés. Il y a de bonnes raisons pour pour cela :

  • Les bibliothèques dupliquées cassent régulièrement les constructions
  • Des bugs subtils apparaissent avec les bibliothèques dupliquées et, dans une moindre mesure, les outils dupliqués.
  • Nous voulons que vous fassiez plus d'efforts pour que votre formule fonctionne avec ce qui est fourni avec OS X.

Puedes éventuellement écraser les versions fournies par macosx des utilitaires avec homebrew.

24voto

user475443 Points 111

Actuellement, Macports a beaucoup plus de paquets (~18.6 K) qu'il n'y a de formules Homebrew (~3.1K), en raison de sa maturité. Homebrew rattrape lentement son retard.

Les paquets Macport ont tendance à être maintenus par une seule personne.

Macports peut conserver plusieurs versions de paquets, et vous pouvez les activer ou les désactiver pour tester les choses. Parfois cette liste peut être corrompue et vous devez l'éditer manuellement pour remettre les choses en ordre, bien que cela ne soit pas trop difficile.

Les deux gestionnaires de paquets demanderont à être mis à jour régulièrement. Cela peut prendre un certain temps.

Remarque : vous pouvez avoir les deux gestionnaires de paquets sur votre système ! Ce n'est pas l'un ou l'autre. Brew peut se plaindre mais pas Macports.

De même, si vous avez affaire à des paquets python ou ruby, utilisez un environnement virtuel dans la mesure du possible.

18voto

debstep Points 109

Par défaut, Homebrew installe les paquets dans votre /usr/local. Les commandes Macport nécessitent sudo pour l'installation et la mise à jour (similaire à apt-get dans Ubuntu).

Pour plus de détails :

Ce site suggère d'utiliser Hombrew : http://deephill.com/macports-vs-homebrew/

tandis que ce site énumère les avantages de l'utilisation de Macports : http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907

Je suis également passé d'Ubuntu récemment, et j'aime utiliser homebrew (c'est simple et facile à utiliser !), mais si vous vous sentez attaché à l'utilisation de sudo, Macports pourrait être la meilleure voie à suivre !

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