90 votes

Est-il sûr d'installer à la fois Homebrew et Macports sur la même machine ?

J'ai installé MacPorts sur mon iMac avec un bon nombre de ports installés.

J'ai envie d'essayer Homebrew, car j'ai entendu beaucoup de bonnes choses à son sujet et parce que j'ai remarqué qu'il contient des versions plus récentes de plusieurs des outils que j'utilise.

Mais les deux peuvent-ils coexister sur la même machine, ou dois-je d'abord désinstaller complètement MacPorts ?

Aussi, si les deux peut seront installés en même temps, seront-ils complètement indépendants les uns des autres ? L'une des caractéristiques de Homebrew est qu'il ne réinstalle pas de nouvelles versions de choses qui sont déjà incluses dans le système (par exemple Python). Cela s'étend-il également au fait qu'il n'installe pas les versions de choses qui sont déjà maintenues par MacPorts ?

Que se passe-t-il si je désinstalle ensuite MacPorts ?

25voto

mmmmmm Points 5716

Ils ne coexisteront pas bien ensemble. Le gcc d'Apple cherche certaines choses dans /usr/local. Cela signifie qu'une compilation macports pourrait trouver quelque chose que le porteur n'attendait pas. Voir les listes de diffusion et les bugs de macports pour des exemples de choses trouvées dans /usr/local.

21voto

RedOculus Points 95

J'ai donné une autre réponse sur une question similaire :

Homebrew posera des problèmes lors de la construction d'un logiciel à partir des sources s'il est installé dans /usr/local. C'est le chemin par défaut, ce qui est un mauvais choix car ce chemin se trouve dans le chemin de recherche par défaut des compilateurs et d'autres logiciels. outils. Par conséquent, les constructions à partir d'autres logiciels d'empaquetage peuvent prendre la mauvaise dépendance, en utilisant la version de Homebrew au lieu de la leur.

Il y a des années, au tout début du projet, même MacPorts utilisait utilisait /usr/local. Mais il s'est avéré qu'il ne coopérait pas avec d'autres outils comme cela est documenté dans leur FAQ. Malheureusement, les développeurs de Homebrew n'ont pas voulu entendre parler de leurs expériences antérieures et ont ignoré ces faits...

En général, il est préférable de s'en tenir à un seul outil pour éviter tous les problèmes. MacPorts fait de son mieux pour corriger tous les chemins par exemple vers /sw qui est utilisé par Fink. En général, cela fonctionne donc, mais mais avoir quelque chose d'installé dans /usr/local lui posera certainement des problèmes pour lui.

[ ]

9voto

Charles Stewart Points 2782

J'avais l'habitude de penser que les soucis concernant ce que les outils de construction Gnu feront de /usr/local étaient à la limite de la paranoïa. Les outils de construction s'attendre à il y a beaucoup de choses à cet endroit : au bon vieux temps, avant les gestionnaires de paquets (je plaisante), on compilait tout ce qui était à /usr/local . Mais alors qu'Autoconf résout généralement les problèmes, la complexité de la construction de nombreux projets open-source pose des problèmes et il peut être difficile de s'en sortir en cas de difficulté.

Mais le risque d'avoir des problèmes avec Autoconf qui trouve quelque chose qu'il ne devrait pas trouver sous /usr/local doit être équilibré par rapport à la nuisance de la maintenance en ayant deux, trois ou quatre copies différentes de Perl, Tcl et Ruby, chacune avec une couverture différente de leurs différentes bibliothèques de paquets. Désagréable.

Étant donné que mon expérience avec MacPorts et Fink s'est résumée à une exaspération causée par exactement cela, et à un moment donné, j'ai dû passer à la compilation à l'ancienne de /usr/local J'ai été heureux de voir que Homebrew ne s'est pas embêté avec ça. J'ai essayé de configurer MacPorts pour installer sur /usr/local mais MacPorts fait tout son possible pour rendre cela difficile. Je comprends que leur motivation est de se faciliter la vie lorsqu'ils traitent les appels à l'aide sur leur liste de diffusion et leur système de suivi des bogues : sachez cependant que si nous devons respecter l'effort des empaqueteurs bénévoles et considérer leur temps comme précieux, leur facilité de débogage n'est pas le seul type de simplicité qui vous concerne, en tant qu'utilisateur.

Homebrew, à cet égard au moins, fait les choses comme elles étaient faites autrefois, et MacPorts essaie de ne pas interférer. Si vous êtes prêt à documenter les paquets dont vous avez besoin avec Homebrew, à nettoyer /usr/local et à réinstaller en cas de difficultés, vous pourrez toujours faire marche arrière si les choses tournent mal. Et une fois que vous aurez réalisé que les problèmes dans /usr/local ne comportent généralement pas le risque de dommages permanents à vos machines, vous vous sentirez peut-être plus libre de prendre des risques.

Je noterai simplement que l'empaquetage est bien pire sous OSX que sous FreeBSD : Apple ne semble pas vraiment se soucier de l'utilisabilité de son sous-système BSD, car c'est un problème qu'ils pourraient aider à résoudre.

8voto

webappzero Points 161

Selon le FAQ MacPorts :

Notez qu'à partir de la version 2.3.0, MacPorts peut automatiquement cacher le fichier /usr/local (et tous les autres fichiers dont un port ne dépend pas) des systèmes de construction des ports. systèmes de construction. Cette fonctionnalité est appelée mode trace et est activée en fournissant l'option -t au port, e.g.

sudo port -t install <portname>

C'est pertinent car selon la page d'installation de Homebrew :

Une des raisons pour lesquelles Homebrew fonctionne bien par rapport à la concurrence est parce que nous recommandons d'installer dans /usr/local. Choisissez un autre préfixe à à vos risques et périls !

Par conséquent, et avec peu d'expérience personnelle, je pense que le fait de toujours utiliser l'option -t pour les installations de MacPort devrait éviter la plupart des problèmes liés à la coexistence de MacPort et de Homebrew sur le même système. Pour répondre à votre dernière question : Je ne vois aucune raison pour laquelle la désinstallation de MacPorts causerait des problèmes.

6voto

plang Points 213

En installant homebrew sur un ordinateur où j'utilise des ports depuis des années, voici ce que je peux lire :

Warning: You have MacPorts or Fink installed:
  /opt/local/bin/port

This can cause trouble. You don't have to uninstall them, but you may want to
temporarily move them out of the way, e.g.

  sudo mv /opt/local ~/macports

Faites attention !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X