Tutoriel Homebrew: Comment utiliser Homebrew pour MacOS

Au début était la ligne de commande. C'est vrai pour presque tous les systèmes d'exploitation, mais quelque part en cours de route, une interface utilisateur graphique est devenue le «visage» de l'ordinateur, et seuls les anciens hackers ou initiés savaient même comment ouvrir une console ou un terminal de ligne de commande.

De nombreux utilisateurs de Mac peuvent gérer à merveille sans jamais ouvrir l'application Terminal, et encore moins en tapant des commandes dans le shell Bash. Si vous passez votre journée à éditer des images fixes avec Lightroom, la ligne de commande MacOS a probablement peu d'utilité pour vous.

Les utilisateurs plus techniques, et en particulier les développeurs de logiciels, ont besoin de travailler dans le shell au moins occasionnellement, sinon quotidiennement. Les utilisateurs techniques avec une certaine expérience Unix ou Linux découvriront que tous les utilitaires habituels ne sont pas installés dans MacOS car il vient de l'usine, même si en son cœur MacOS est un système BSD Unix.

En tant que développeur de logiciels et réviseur de logiciels, je rencontre souvent ce problème. La première fois que cela s'est produit, je suivais les instructions d'installation en ligne qui prétendaient fonctionner sur des systèmes de type Linux et Linux (comme Mac OS X, comme on l'appelait à l'époque), mais qui n'avaient été testées que sur une ou deux distributions de Linux. La commande d'installation fournie était basée sur wgetun utilitaire de téléchargement non interactif de fichiers à partir du Web.

Malheureusement pour moi, il wgetn'est pas installé sur un Mac, bien que l' curlutilitaire un peu similaire le fasse. Traduire les wgetoptions en curloptions était une étape supplémentaire ennuyeuse dont je n'avais pas besoin; le manque de téléchargements récursifs a curlété un véritable coup d'arrêt pour le téléchargement de la documentation HTML.

Apple n'a pas de mécanismes officiels pour ajouter de nouveaux utilitaires de ligne de commande. Ce qu'il a pour un gestionnaire de packages, c'est l'App Store, mais ce n'est que pour les applications (applications). Lorsque j'ai cherché sur le Web «wget not found mac», j'ai rapidement découvert qu'il y avait plusieurs façons de résoudre mon problème, y compris la construction à wgetpartir du code source. Parmi ceux-ci, le plus fréquemment recommandé était Homebrew.

Qu'est-ce que Homebrew?

Homebrew s'appelle « Le gestionnaire de paquets manquant pour MacOS» (c'est moi qui souligne). C'est lapidaire, mais un peu cavalier. Homebrew est certainement un gestionnaire de paquets pour MacOS, mais il en existe d'autres, comme MacPorts et Fink. Et d'ailleurs, l'App Store est un gestionnaire de packages, bien que spécialisé dans les applications de l'App Store. Néanmoins, Homebrew est le gestionnaire de packages tiers le plus populaire pour MacOS et fournit des fonctionnalités manquantes sur l'App Store.

Vous pouvez utiliser Homebrew ( brew) pour installer, désinstaller et mettre à jour l'une des milliers de «formules» (c'est-à-dire les définitions de paquet) de son référentiel public principal, ainsi que tous les référentiels tap que vous souhaitez utiliser. Vous pouvez également utiliser la fonction Homebrew cask ( brew-cask) pour installer, désinstaller et mettre à niveau des binaires MacOS précompilés (tels que des applications, mais pas des applications App Store) à partir de la ligne de commande. Si vous le souhaitez, vous pouvez créer vos propres packages Homebrew et écrire vos propres formules Homebrew.

Installez Homebrew

Puisque Homebrew lui-même n'est que pour MacOS, il a des instructions d'installation assez simples - du moins, si la version de votre système d'exploitation est plus récente que OS X Lion 10.7. Homebrew exécute simplement un script Ruby après l'avoir téléchargé depuis GitHub; vous noterez dans la capture d'écran ci-dessous que Homebrew utilise curlpour le téléchargement, non wget, pour des raisons dont j'ai discuté plus tôt.

Homebrew se limite également au code Ruby pris en charge par la version Ruby livrée avec la plus ancienne version d'OS X prise en charge, 10.5 Leopard.

/ usr / bin / ruby ​​-e "$ (curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"

Il est possible que l'installation Homebrew vous demande d'installer Xcode ou les outils de ligne de commande pour Xcode. Que ce soit le cas et ce qu'il suggère dépendra de la version de votre système d'exploitation et des versions des compilateurs C et C ++ installés sur votre système.

Selon la page d'installation Homebrew, si vous avez une ancienne version de Mac OS X (Lion 10.7 ou avant), vous devez ajouter l' --insecureargument (ou de manière équivalente -k, créer la liste complète des arguments -fsSLk) à la curlcommande. En effet, la version de curlsur votre système ne parviendra pas à communiquer avec GitHub en utilisant HTTPS. Homebrew corrigera ce problème si vous l'installez et lui demandez ensuite de se mettre à jour et de mettre à jour ses dépendances avec brew update.

Si vous téléchargez le script d'installation et que vous le lisez, vous verrez qu'il inclut une logique d'abandon si la version de Mac OS X est inférieure à 10.5. Si cela se déclenche, le script vous renverra à TigerBrew, qui est un fork expérimental de Homebrew qui ajoute la prise en charge des Mac PowerPC et des Mac exécutant Tiger.

Il existe également un avertissement «nous ne prenons pas en charge cette version» qui se déclenchera pour les versions de MacOS trop anciennes ou trop récentes, actuellement définies sur 10.11 et 10.13. Cela ne signifie pas que Homebrew ne fonctionnera pas sur ces versions; cela signifie principalement que les développeurs ne testent pas contre eux.

Utilisez Homebrew pour installer un package

À titre d'exemple de base, essayons d'installer wgetavec Homebrew. Tout d'abord, lancez Terminal.

La commande d'installation est tout comme indiqué dans l'image ci - dessus: brew install wget. Sur ma machine, il a produit la sortie plutôt longue ci-dessous. Notez que l'installation a commencé par une mise à jour automatique de Homebrew, puis wgetles dépendances installées , puis finalement installées wget.