Lorsque MacOS essaie d'exécuter une application qui n'est pas conçue pour le silicium d'Apple, il est invité à installer Rosetta 2 pour traduire automatiquement l'application en silicium d'Apple.
Dans Terminal, il n'y a pas de détection automatique de l'absence de Rosetta pour exécuter des outils de ligne de commande d'ancienne architecture.
Si aucune autre application ne vous a déjà été proposée, installez manuellement Rosetta 2 :
softwareupdate --install-rosetta
Si vous devez exécuter un binaire universel dans l'architecture précédente, utilisez arch
et spécifier l'architecture. Vous devez spécifier manuellement l'architecture pour les binaires qui doivent exécuter d'autres binaires qui ne sont pas construits pour le silicium d'Apple, comme Homebrew.
arch -x86_64 …
par exemple arch -x86_64 brew install packagename
Vous pouvez également exécuter toute l'application Terminal à l'aide de Rosetta en ouvrant Get Info on Terminal.app dans le Finder et en cochant "Open using Rosetta". De cette façon, Terminal et tous les binaires qu'il tente d'exécuter passent par Rosetta. Les binaires siliconés d'Apple ne seront donc pas pris en charge et les performances seront affectées, mais vous n'avez pas besoin de spécifier l'architecture pour exécuter les anciens binaires.
Pour passer un terminal zsh existant à x86_64, utilisez cette commande :
arch -x86_64 zsh