Terminal : Homebrew est prêt pour les Mac Apple Silicon

Nicolas Furno |

Homebrew annonce être prêt pour les Mac Apple Silicon. Jusque-là, le gestionnaire de paquets très populaire sur macOS fonctionnait grâce à Rosetta 2 sur les nouveaux Mac, avec une mise en place fonctionnelle, mais qui tenait du bricolage :

Homebrew nécessitait jusque-là une configuration spécifique pour être installé sur un Mac Apple Silicon.

La version 3.0.0 qui vient de sortir est optimisée pour tous les Mac, ceux qui reposent encore sur un processeur Intel et l’architecture x86, et ceux qui ont la chance de tourner sur un processeur Apple M1 et l’architecture ARM. Le script d’installation se chargera d’installer la bonne version en fonction de votre Mac, vous n’avez plus besoin de vous en soucier. Du point de vue de l’utilisateur, l’expérience devrait désormais être la même quel que soit le Mac.

Une bonne nouvelle, même s’il faut distinguer le gestionnaire de paquets et les paquets qu’il installe. Homebrew est optimisé Apple Silicon, mais ce n’est pas encore le cas de tout ce qu’il peut installer. Le site qui référence ces paquets a été mis à jour pour signaler tous ceux qui sont compilés pour ARM et tous ceux qui se contentent encore de fonctionner sur l’architecture x86. Ces paquets pourront toujours être installés par Homebrew, mais ils seront traités différemment pour que Rosetta 2 puisse les faire tourner.

Concrètement, Homebrew va désormais stocker les paquets à deux emplacements différents sur les Mac Apple Silicon : /opt/homebrew pour les paquets ARM, /usr/local pour les paquets x86_64. Cette gestion plus complexe que sur un Mac Intel ne devrait toutefois avoir aucun impact pour l’utilisateur, c’est le gestionnaire qui se charge de tout, y compris a priori pour déplacer un paquet d’un emplacement à l’autre s’il est mis à jour pour la nouvelle plateforme.

Si vous aviez installé Homebrew sur un Mac Apple Silicon, vous pouvez le mettre à jour comme toujours avec brew update. Point important, si vous aviez créé des alias pour utiliser le gestionnaire avec Rosetta comme je le conseillais dans l’article précédent, pensez à les supprimer pour bénéficier des versions natives.

avatar Niarlatop | 

🥳

avatar Florian Innocente | 

Merci la team Homebrew 👍🏻🍾

avatar Mickaël Bazoge | 
avatar Florian Innocente | 

@MickaelBazoge

Ah mais oui en effet. Moi aussi en fait. 🤦🏻‍♂️

avatar Jamseth | 

Top 👍
Ca va vraiment permettre à pas mal de gens d'envisager un peu plus sereinement le passage à M1+

avatar YetOneOtherGit | 

@Jamseth

"Ca va vraiment permettre à pas mal de gens d'envisager un peu plus sereinement le passage à M1+"

Il faut peut-être restera raisonnable sur ce que représente ce “pas mal de gens”.

Nous sommes vraiment sur une niche 😉

avatar saoullabit | 

@YetOneOtherGit

Je crois bien que t’as raison sur le côté niche
Déjà faut avoir besoin de ces packages et aussi avoir une machine M1 :Ça fait aujourd’hui peu de gens :-)

avatar YetOneOtherGit | 

@saoullabit

La proportion des utilisateurs de Mac capable de passer ne serait-ce qu’une commande ls en sachant par avance ce qu’elle fait et en sachant accéder au shell doit à elle seule être relativement faible 😉

avatar byte_order | 

Curieux de savoir comment ils gèrent le type de cas :

- package A dispo en x86_64 et ARM
- package B dispo en x86_64 et ARM
- package C dispo qu'en x86_64.

B dépend explicitement de A. A l'installation de B, A et B sont donc installé en /opt/homebrew.

Le package C détecte à l'utilisation si une fonction (ou utilitaire, par exemple) de A est dispo et l'utilise. Il vérifie pour cela la présence de cette fonction quelque part sous /usr/local.

Il va falloir installer 2 fois le package A, en x86_64 *et* ARM ?

Bon courage pour patcher tous les projets open source qui, quelque part, font usage optionnel ou dynamiquement de trucs qu'ils s'attendent à trouver sour /usr/... quelque chose.

avatar YetOneOtherGit | 

@byte_order

Je ne suis que peu familier, hors usages basiques, de Home Brew mais il ne gère pas comment nombre de gestionnaires de paquets la multiplicité potentielle des cibles ?

Ou tu parles juste des dépendances sur des éléments non encore portés ?

avatar Frodon | 

Ca depuis plusieurs semaine que la procédure classique d'installation installe la version ARM64 dans /opt/homebrew, mais oui c'était une pré-version.

avatar titigrou | 

Ahhhhhh !!! Est-ce que quelqu’un pourrait tester l’installation de AMC?? j’attends que ça que ça marche pour acheter un MBA!

avatar denPetrus | 

Je teste l'installation dès ce soir et je fais un retour.

avatar Bil | 

Qu’un package soit compilé en amd64 ou arm64, je veux bien mais je comprends pas cette histoire de comptabilité sachant que derrière c’est du Ruby !

avatar lepoulpebaleine | 

Très bonne nouvelle !

avatar denPetrus | 

J'ai tenté une installation de Homebrew sur mon mac mini M1. Cela n'a pas fonctionné.... Je vais retenter ce week-end

avatar ech1965 | 

quelqu'un a-t-il réussi à installer "swiftgen" sur un macmini M1 avec le dernier brew ?
Il dit qu'il faut compiler mais la compile rate ( voir issue #811 sur github swiftgen)

avatar Bilbo | 

Il n'y a que moi qui utilise Macports ?

avatar Bil | 

@Bilbo

Oui

avatar Bilbo | 

Je me disais aussi !

avatar ech1965 | 

Maintenant tu sais !

CONNEXION UTILISATEUR