Je viens récemment de passer à un Mac d'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 homebrew mais je ne sais pas exactement ce que fait homebrew ou macports?
Je viens récemment de passer à un Mac d'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 homebrew mais je ne sais pas exactement ce que fait homebrew ou macports?
Réponses:
MacPorts est la voie à suivre.
Comme l'a indiqué @ user475443, MacPorts propose de nombreux autres packages. Avec l'infusion, vous vous retrouverez rapidement pris au piège car la formule dont vous avez besoin n'existe pas.
MacPorts est une application native: C + TCL. Vous n'avez pas du tout besoin de Ruby. Pour installer Ruby sur Mac OS X, vous pourriez avoir besoin de MacPorts, alors optez simplement pour MacPorts et vous serez heureux.
MacPorts est vraiment stable, en 8 ans, je n'ai jamais eu de problème avec ça, et tout mon écosystème Unix le relais.
Si vous êtes un développeur PHP, vous pouvez installer la dernière version d'Apache (Mac OS X utilise 2.2), PHP et toutes les extensions dont vous avez besoin, puis mettre à niveau le tout avec une seule commande. Oubliez de faire de même avec Homebrew.
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é PHP55 et PHP56 (avec de nombreuses extensions différentes), vous pouvez permuter entre eux avec une seule commande. Toutes les extensions relatives font partie du groupe et elles seront activées au sein du groupe choisi: php55 ou php56. Je ne suis pas sûr que Homebrew dispose de cette fonctionnalité.
Les rubistes aiment tout réécrire dans Ruby, car la seule chose qu'ils sont à l'aise est Ruby lui-même.
Homebrew et macports résolvent tous deux le même problème - c'est-à-dire l'installation de bibliothèques et d'utilitaires communs 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 destinée aux développeurs travaillant sur osx.
Ils ont tous deux besoin que les outils de ligne de commande xcode soient installés (que vous pouvez télécharger séparément sur https://developer.apple.com/ ), et pour certains packages spécifiques, vous aurez besoin de l'intégralité de l'IDE xcode installé.
xcode peut être installé à partir du Mac App Store, c'est un téléchargement 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, c'était un choix naturel). Pour quiconque connaît l'une des distributions BSD, macports se sentira comme chez lui.
Une différence majeure entre homebrew et macports; et la raison pour laquelle je préfère l'homebrew est qu'il n'écrasera pas les choses qui devraient être installées "nativement" dans osx. Cela signifie que si un package natif est disponible, homebrew vous en informera au lieu de le remplacer et de causer des problèmes plus loin. Il installe également des 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, car tout est dans un chemin d'accès qui vous est accessible.
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 principale raison pour laquelle je préfère macports au brassage maison, vous devez être certain de ce que vous utilisez et du changement d'Apple à différents moments des ports et avoir été connu être des années derrière les mises à jour dans certains projets
Pouvez-vous donner une référence montrant que macports écrase les packages OS X natifs? Autant que je sache, toute l'installation de macports se produit 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 installent tous les deux des éléments séparément.
Homebrew vous avertira lorsque vous devez installer les choses "nativement" (en utilisant l'installateur préféré de la bibliothèque / de l'outil) pour une meilleure compatibilité. Voilà ce que je voulais dire. Il utilisera également autant de bibliothèques locales disponibles dans OS X. Depuis le wiki :
Nous n'aimons vraiment pas les dupes en Homebrew / homebrew
Cependant, nous aimons les dupes dans le robinet!
Les trucs fournis avec OS X ou une bibliothèque fournie par RubyGems, CPAN ou PyPi ne doivent pas être dupés. Il y a de bonnes raisons pour ça:
- Les bibliothèques en double cassent régulièrement les builds
- Des bogues subtils émergent avec des bibliothèques en double et, dans une moindre mesure, des outils en double
- Nous voulons que vous fassiez plus d'efforts pour que votre formule fonctionne avec OS X
Vous pouvez éventuellement remplacer les versions d'utilitaires fournies par macosx avec homebrew.
/opt/local
Actuellement, Macports a beaucoup plus de packages (~ 18,6 K) qu'il n'y a de formules Homebrew (~ 3,1 K), en raison de sa maturité. Homebrew rattrape lentement cependant.
Les packages Macport sont généralement gérés par une seule personne.
Macports peut conserver plusieurs versions de packages, et vous pouvez les activer ou les désactiver pour tester les choses. 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 packages demanderont à être régulièrement mis à jour. Cela peut prendre un certain temps.
Remarque: vous pouvez avoir les deux gestionnaires de packages sur votre système! Ce n'est ni l'un ni l'autre. Brew pourrait se plaindre, mais Macports ne le fera pas.
De plus, si vous traitez avec des packages python ou ruby, utilisez un environnement virtuel dans la mesure du possible.
Par défaut, Homebrew installe les packages sur votre / usr / local. Les commandes Macport nécessitent sudo pour l'installation et la mise à niveau (similaire à apt-get dans Ubuntu).
Pour plus de détails:
Ce site suggère d'utiliser Hombrew: http://deephill.com/macports-vs-homebrew/
alors que ce site répertorie les avantages de l'utilisation de Macports: http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907
J'ai également récemment quitté Ubuntu et j'aime utiliser les homebrews (c'est simple et facile à utiliser!), Mais si vous vous sentez attaché à l'utilisation de sudo, Macports pourrait être la meilleure solution!
/usr/local
pour Homebrew. Apple est parti /usr/local
pour les "exécutables, bibliothèques, etc. non inclus dans le système d'exploitation de base". Cela signifie qu'il est possible que les outils installés avant d'utiliser Homebrew aient créé de /usr/local
telle sorte qu'il ne puisse pas être modifié sans sudo
. Ils n'en discutent pas sur le wiki.
/usr/local
sans les autorisations root. Les autorisations par défaut pour /usr
une nouvelle installation d'OS X sont le propriétaire de la racine, sans autorisation d'écriture pour quiconque. Pour même créer /usr/local
, Homebrew aurait besoin d'un accès root. (Je
homebrew
peut installer des trucs sans sudo
parce que quand il s'est installé, il a utilisé sudo
pour rendre l'autorisation sur le répertoire plus lâche afin qu'il puisse faire n'importe quoi à l'intérieur /usr/local
sans déclencher le mot de passe. Cela signifie-t-il que la partie «installer sans mot de passe» est erronée? Je ne pense pas! Il est encore vrai que homebrew
sera en mesure d'obtenir des choses sans le mot de passe.