web-dev-qa-db-fra.com

Quelle est la différence / utilisation des homebrews, macports ou autres outils d’installation de paquetages?

Je viens de passer d'un Mac à Ubuntu. J'ai été déçu que mac n'ait pas la commodité Sudo apt-get dans Ubuntu. J'ai entendu dire que je devrais utiliser l'homebrew mais je ne sais pas exactement ce que font l'homebrew ou macports?

233
ROBOTPWNS

MacPorts est la voie à suivre.

  1. Comme @ user475443 l'a souligné, MacPorts a beaucoup plus de paquets. Avec Brew, vous vous retrouvez 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 besoin de Ruby. Pour installer Ruby sur Mac OS X, vous pourriez avoir besoin de MacPorts, alors utilisez simplement MacPorts et vous serez heureux.

  3. MacPorts est vraiment stable. En 8 ans, je n’ai jamais eu de problème avec cela et avec tout mon écosystème Unix.

  4. Si vous êtes un développeur PHP, vous pouvez installer la dernière version d'Apache (Mac OS X utilise la version 2.2), PHP et toutes les extensions dont vous avez besoin, puis mettez-les à niveau avec une seule commande. Oubliez 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 à la fois PHP55 et PHP56 installé (avec de nombreuses extensions différentes), vous pouvez les permuter entre eux 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 ait cette fonctionnalité.

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

143
noun

Homebrew et macports résolvent tous deux le même problème: l’installation de bibliothèques et d’utilitaires communs non 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 destinée aux développeurs travaillant sur osx.

Ils ont tous deux besoin des outils de ligne de commande xcode installés (que vous pouvez télécharger séparément à partir de https://developer.Apple.com/ ), et pour certains packages spécifiques, vous aurez besoin du code complet xcode IDE installé.

xcode peut être installé à partir du Mac App Store, son téléchargement est gratuit, mais cela prend un certain temps depuis environ 5 Go (si je me souviens bien).

macports est une version osx de l'utilitaire de port de BSD (comme osx est dérivé de BSD, il s'agissait d'un choix naturel). Pour tous ceux qui connaissent les distributions BSD, macports se sentiront 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 doivent être installées "nativement" dans osx. Cela signifie que si un package natif est disponible, homebrew vous en informera au lieu de l'écraser et de causer des problèmes plus tard. Il installe également des bibliothèques dans l'espace utilisateur (vous n'avez donc pas besoin d'utiliser "Sudo" pour installer des choses). Cela aide aussi à se débarrasser des bibliothèques car tout est dans un chemin accessible pour vous.

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


macports ne remplace pas les packages OSX natifs - il fournit sa propre version - C’est la raison principale pour laquelle je préfère les macports à la maison, vous devez être certain de ce que vous utilisez et des modifications apportées par Apple à différents moments aux ports et vous avez été informé avoir des années de retard sur les mises à jour de certains projets

Pouvez-vous donner une référence montrant que macports écrase les packages natifs d'OS X? Autant que je sache, toute l’installation de macports s’effectue dans /opt/local

Je devrais peut-être préciser. Je n'ai dit nulle part dans ma réponse que macports écrase les packages natifs OSX. Ils ont tous deux installer des éléments séparément.

Homebrew vous avertira lorsque vous devrez installer les éléments "de manière native" (en utilisant le programme d'installation préféré de la bibliothèque/de l'outil) pour une meilleure compatibilité. C'est ce que je voulais dire. Il utilisera également autant de bibliothèques locales disponibles sous OS X. Depuis le wiki :

Nous n’aimons vraiment pas les dupes dans Homebrew/homebrew

Cependant, nous aimons bien les dupes au robinet!

Les éléments fournis avec OS X ou une bibliothèque fournie par RubyGems, CPAN ou PyPi ne doivent pas être dupes. Il y a de bonnes raisons pour ça:

  • Les bibliothèques en double cassent régulièrement les constructions
  • Des bogues subtils apparaissent avec les bibliothèques en double et, dans une moindre mesure, les outils en double
  • Nous voulons que vous essayiez plus fort de faire fonctionner votre formule avec ce que Mac OS X fournit.

Vous pouvez éventuellement écraser les versions d’utilitaires fournies par macosx par homebrew.

106
Burhan Khalid

Actuellement, Macports propose beaucoup plus de packages (~ 18,6 Ko) qu’il n’existe de formules Homebrew (~ 3,1K), en raison de sa maturité. Homebrew est lentement en train de rattraper son retard.

Les packages Macport ont tendance à être gérés par une seule personne.

Les Macports peuvent conserver plusieurs versions de packages, et vous pouvez les activer ou les désactiver pour tester des éléments. Parfois, cette liste peut être corrompue et vous devez la modifier manuellement pour remettre les choses en ordre, bien que ce ne soit pas trop difficile.

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

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

De même, si vous utilisez des packages python ou Ruby, utilisez un environnement virtuel chaque fois que cela est possible.

24
user475443

Par défaut, Homebrew installe les packages sur votre/usr/local. Les commandes Macport nécessitent l’installation et la mise à niveau de Sudo (similaire à apt-get dans Ubuntu).

Pour plus de détail:

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

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

Je suis aussi passé récemment d'Ubuntu et j'aime bien utiliser l'homebrew (c'est simple et facile à utiliser!), Mais si vous vous sentez attaché à l'utilisation de Sudo, Macports pourrait être la meilleure solution!

18
debstep