In mijn zoektocht om “alle dingen te automatiseren”, ben ik op reis geweest om mijn Mac-laptop te beheren als de inherente code is. In plaats van te wijzen en te klikken om mijn toepassingen en hulpprogramma’s handmatig te beheren, gebruik ik liever pakketbeheersoftware om onnodige software te installeren, bij te werken en te verwijderen.
Dat is een uitdaging voor Mac-gebruikers. Een plek waar de Mac besturingssysteem, macOS, heeft altijd achter Linux gestaan bij pakketbeheer. Er is geen standaard pakketbeheerder voor Mac-gebruikers, terwijl Linux-gebruikers veel opties hebben – van de bekende yum
en apt
naar de moderne keuze van Flatpak. Maar hoe zit het met ons?
Dit is waar Homebrew om de hoek komt kijken. Homebrew vult de leegte als de de facto pakketbeheerder voor macOS (en als een andere optie voor Linux). Het biedt een ongelooflijk soepele en ongecompliceerde ervaring voor iedereen die bekend is met de opdrachtregel, en het is een goede manier om de opdrachtregel te leren als je er nieuw mee bent.
Als je op een Mac zit en Homebrew nog niet hebt, je kunt het installeren met:
Dit commando voert de i nstaller-script geleverd door het Homebrew-team. Als u liever voorzichtiger bent, kunt u curl
het bestand gebruiken en het vervolgens handmatig uitvoeren nadat u het hebt bekeken:
Beheer uw opdrachtregelhulpprogramma’s met brew
Homebrew beweert dat het “de dingen installeert die je nodig hebt die Apple (of je Linux-systeem) niet” standaard installeerde. De installatie gebeurt met het brew
commando, dat geeft ons toegang tot duizenden opdrachtregelhulpprogramma’s, maar niet tot meer complexe applicaties.
Voor ons nerds zijn de hulpprogramma’s die passen in de categorie “de dingen die je nodig hebt” de handige tree
commando dat directory-structuren laat zien en pyenv
, dat ik gebruik om meerdere versies van Python te beheren.
Je kunt alle “formules” zien die zijn verkrijgbaar bij Homebrew met het search
commando, en ik gebruik het wc
commando om aan te geven hoeveel formules er zijn:
# -l counts the number of lines
$ brew search | wc -l
5013
Er zijn meer dan 5.000 formules, wat een ongelooflijke le hoeveelheid software. Het is dus het beste om een idee te hebben van wat u zoekt voordat u door die enorme lijst gaat zoeken. Gelukkig is het gemakkelijk genoeg om te bladeren. Formules zijn gecodificeerd en gecentraliseerd in de kernopslagplaatsen die zijn opgesplitst per besturingssysteem (Mac in Homebrew Core en Linux in Linux Core). Ze zijn ook beschikbaar via de Homebrew API en staan vermeld op de website.
Mond-tot-mondreclame is een andere geweldige methode om utilitites te vinden. Met dat in gedachten zijn hier enkele van mijn favorieten als je “re op zoek naar inspiratie:
-
pyenv
,rbenv
, ennodenv
om (respectievelijk) Python-, Ruby- en Node.js-versies te beheren -
imagemagick
voor scriptbare afbeeldingsbewerkingen -
pandoc
voor scriptbare documentconversies (ik schakel vaak van .docx naar .md of .html) -
hub
voor een betere Git-ervaring voor GitHub-gebruikers -
tldr
voor voorbeelden van het gebruik van een command-li ne utility
Kijk als voorbeeld eens naar tldr-pagina’s, een gebruiksvriendelijk alternatief voor het scrollen door de man-pagina’s van een applicatie. Je kunt bevestigen dat het beschikbaar is door search
nogmaals uit te voeren:
$ brew search tldr
==> Formulae
tldr ✔
Succes! Het vinkje geeft het aan Nu kun je het installeren:
Gelukkig bouwt Homebrew de binaire bestanden vooraf, zodat je niet hoeft te bouwen vanuit de broncode op je lokale computer. Dat scheelt veel tijd en CPU-ventilatorgeluid. Een ander ding dat ik waardeer aan Homebrew is dat je deze functie kunt waarderen zonder precies te begrijpen wat het betekent.
Maar als je er zin in hebt, kan het leuk zijn om naar de complexiteit te kijken. Voer info
op tldr
, en u kunt al het afhankelijkheidsbeheer, de broncode en zelfs openbare analyses zien:
Tot slot, zoals in elke goede pakketbeheerder is Homebrew “s brew uninstall
beschikbaar om snel ongebruikte hulpprogramma’s op te schonen en te verwijderen.
Beheer je applicaties met brew casks
Opdrachtregelhulpprogramma’s zijn geweldig, maar hoe zit het met complete applicaties? Homebrew houdt zijn standaardcommando’s eenvoudig en installeert alleen applicaties met één bestand via de standaard brew
opdrachtregelinterface. Applicaties passen niet in die structuur. Ze hebben een complexere directoryhiërarchie die veel meer is dan een enkel binair bestand.
Gelukkig bevat Homebrew op Mac een subcommando genaamd “casks” voor complexere multi-directorystructuren .Wat vooral leuk is, is dat cask
een vergelijkbare commandostructuur gebruikt als de standaard brew
-commando’s, dus je kunt vergelijkbare search
, install
, en info
stappen:
brew search --cask | wc -l
4772
Wauw, er zijn bijna 5.000 meer applicaties om door te bladeren, die gemakkelijker te bekijken zijn op de website van Homebrew.
Ik “zal je door cask
met een van mijn nieuwe favoriete applicaties: Meld (waarover ik heb gelezen op Opensource.com). Het is een veelzijdige editor die helpt bij het beheren van samenvoegconflicten. Er is een download op zijn website, en ik zou het installatieprogramma kunnen doorlopen en het naar mijn map Toepassingen kunnen slepen en neerzetten, maar dat doe ik niet meer. Ik gebruik Homebrew.
Ten eerste, ik bevestig dat het beschikbaar is via een iets andere syntaxis:
$ brew search --casks meld
==> Casks
meld
Vervolgens gebruik ik het cask
subcommando om installeer het:
Homebrew installeert niet alleen de applicatie, maar maakt het ook beschikbaar in mijn huidige pad onder /usr/local/bin/
. Nu kan ik meld
vanaf de opdrachtregel uitvoeren of de toepassing starten vanuit de map Toepassingen.
Alles bijwerken met brew-upgrade
De reden dat ik consequent een pakketbeheerder gebruik, is dat ik mijn software consequent kan upgraden om bekende beveiligingsfouten te vermijden en ervoor te zorgen dat ik altijd over de nieuwste functies beschik. Als ik alles met de hand installeer, moet ik elke tool en applicatie in de gaten houden om te weten of deze een auto-updater heeft en, zo niet, zelf de nieuwste releases downloaden.
Upgrades zijn waar geweldig pakketbeheer schittert. Aangezien ik geen speciale versievereisten heb, voer ik slechts één commando uit om alles soepel bij te werken:
Als je complexere behoeften hebt of upgrades in de gaten wilt houden voordat je ze installeert, zijn er genoeg functievlaggen beschikbaar. -n
biedt bijvoorbeeld een “testversie” die beschikbare upgrades weergeeft zonder ze te installeren. U kunt ook een applicatieversie “vastzetten” om upgrades te voorkomen.
Maak een back-up van uw installatie
Het opdrachtregelhulpprogramma en applicatiebeheer springt naar een geheel nieuw niveau wanneer u met tools een back-up kunt maken van uw installatie zoals elk ander dotfile in versiebeheer. Homebrew heeft dat soort functionaliteit beschikbaar voor gebruik onder het dump
subcommando. Het genereert een Brewfile
, wat een herbruikbare lijst is van alle momenteel geïnstalleerde tools. een van je installatie, ga naar de map van je voorkeur en voer uit:
$ cd ~/Development/dotfiles # This is my dotfile folder
$ brew bundle dump
Wanneer ik van machine verander en wan Om dezelfde applicaties met Homebrew te installeren, ga ik naar de map met de Brewfile en voer het volgende uit:
Het zal alle vermelde formules en vaten op mijn nieuwe machine.
Ga naar Homebrew voor pakketbeheer
Homebrew is mijn go-to manager voor opdrachtregelhulpprogramma’s en applicaties. Het houdt me georganiseerd en up-to-date, en het ontwerp is een mooie balans tussen gebruiksgemak en diepte van functionaliteit. Homebrew minimaliseert pakketbeheerdetails tot alleen wat je moet weten, en de meeste gebruikers zullen daarvan profiteren.
Als je al vertrouwd bent met Linux-pakketbeheerders, denk je misschien dat Homebrew te simpel is, maar vergis je Homebrew niet. s gebruiksgemak bij gebrek aan functies. Als je wat dieper kijkt, zie je veel geavanceerde opties die veel verder gaan dan wat ik je hier heb laten zien. -h
toevoegen aan een brew
subcommando toont de uitgebreide functies die beschikbaar zijn om te upgraden, verwijderen, problemen op te lossen en zelfs nieuwe formules bij te dragen met behulp van sjablonen.