Homebrew Demystified OS X's Ultimate Package Manager

Je blijft het woord "Homebrew" zien telkens wanneer je een app installeert die niet eenvoudigweg naar de map Toepassingen wordt gesleept. Wat is Homebrew? De site zegt "pakketmanager", maar wat is een pakketbeheerder? Wat is een pakket? Wat is een manager? Daar hoef je niet je haar uit te trekken. We zullen dit alles en meer bespreken in de tutorial van vandaag.


Wat is Homebrew?


homebrew

Homebrew is een pakketbeheerder voor OS X, we hebben dat veel besproken. Maar wat is het eigenlijk, in termen van leken? Om dat uit te leggen, moeten we het idee van "pakketten" bespreken.


Pakketjes

Pakketten zijn bundels van broncode die door ontwikkelaars van software worden gedistribueerd en die op uw computer kunnen worden gecompileerd en geïnstalleerd. Ze zijn niet veel meer dan archieven (niet zoals zip) boordevol verschillende bestanden. Dus waarom zou u ze niet als archieven beschouwen? Nou, pakketten hebben de specifieke eigenschap dat ze "installeerbaar" zouden kunnen zijn.

Pakketten zijn installeerbare bundels met broncode.

Wanneer u handmatig een bundel broncode downloadt, moet u deze gewoonlijk uit het archief halen (uitbreiden), vervolgens naar de map gaan die dit proces heeft geproduceerd, verschillende cryptische opdrachten uitvoeren (make, configure) en tenslotte, met heel veel geluk, de software wordt geïnstalleerd.

Dit zal vaak mislukken als u niet aan bepaalde voorwaarden voldoet. U hebt bijvoorbeeld de verkeerde OS-versie of u hebt geen vooraf geïnstalleerde pakketten waarvan het pakket dat u probeert te installeren afhankelijk is (dit worden afhankelijkheden genoemd). Je kunt deze cryptische en schijnbaar complexe procedure in een vorig artikel over het installeren van PHP vanuit de broncode daadwerkelijk zien.

Een voorbeeld van dergelijke software is Imagemagick. Imagemagick is een bibliotheek en opdrachtregelprogramma voor beeldmanipulatie. In lekentermen is het een reeks programma's waarmee je afbeeldingen op verschillende manieren kunt bewerken door opdrachten in je Terminal-toepassing te typen.

Zeggen dat het een "bibliotheek" is, betekent in feite dat het door andere programma's kan worden gebruikt - wat betekent dat je Imagemagick-opdrachten vanuit andere talen zoals Java, PHP, enz. Kunt initiëren door extra upgrades voor die talen te installeren.

Een bibliotheek is een verzameling bestanden die door andere applicaties en programmeertalen kan worden gebruikt om op verschillende manieren hetzelfde effect te bereiken.

Het installeren van deze bibliotheek is eigenlijk vrij eenvoudig. Download eenvoudigweg het binaire installatiebestand (uitvoerbaar bestand) en voer het uit. Helaas is het up to date houden van de software minder eenvoudig en na het installeren van tientallen van dergelijke en soortgelijke bibliotheken, is het gemakkelijk om uit het oog te verliezen waar wat is geplaatst, waardoor je harde schijf verstopt raakt. Dit is waar pakketmanagers binnenkomen.


Pakket manager

Een pakketbeheerder is een applicatie die al het bovenstaande voor u afhandelt met één eenvoudige opdracht. Tot voor kort was MacPorts de pakketbeheerder bij uitstek voor OS X, op de voet gevolgd door Fink. Ik ga hier geen vergelijkingen van deze managers uitvoeren en als je meer wilt weten, kun je Google rondzoeken voor artikelen zoals deze..

Wat doet een pakketmanager?

Wat doet een pakketmanager precies? Het uitgangspunt is eenvoudig:

  1. Neemt één enkele opdracht als invoer en zoekt uit welk softwarepakket u wilt installeren
  2. Download de broncode van het pakket (of in het geval van Fink, de vooraf gebouwde applicatie zelf)
  3. Geeft aan of er afhankelijkheden aanwezig zijn en downloadt deze ook
  4. Hiermee compileert (bouwt) de afhankelijkheden van de broncodebestanden en installeert deze
  5. Bouwt uw aangevraagde software
  6. Installeert het op de vooraf gedefinieerde locatie

Een pakketbeheerder zoals Homebrew handelt automatisch alle afhankelijkheden af ​​en installeert de aangevraagde software op één gemeenschappelijke locatie voor eenvoudige toegang en bijwerking.

Het installeren van de bovengenoemde Imagemagick met Homebrew wordt dus net zo eenvoudig als hardlopen zet imagemagick in voor installatie.


Homebrew installatie en specifieke informatie

Om Homebrew te installeren, hoef je alleen maar je Terminal-app te gebruiken (Toepassingen> Hulpprogramma's> Homebrew) en voer de volgende opdracht uit:

 ruby -e "$ (curl -fsSkL raw.github.com/mxcl/homebrew/go)"

Het is niet nodig om je noodle te bakken over wat dit betekent, het enige dat je moet weten is dat het de pakketbeheerder installeert en klaarmaakt voor gebruik.

Als we nu vluchten brouw arts, Homebrew zal zichzelf diagnosticeren, kijken of alles werkt zoals het zou moeten en verslag uitbrengen. Het zal je meestal tot in detail vertellen wat er mis is, zodat je het kan helpen om het snel op te lossen, in het ongewisse gaat er iets mis.

Brew Doctor is de eigen zelfdiagnose-tool van Homebrew.

Zodra dit is gebeurd, zou je moeten rennen brouw update om nieuwe "formules" te downloaden.


Brew-update uitvoeren

Formules zijn instructies voor Homebrew over het installeren van specifieke software en het vinden van de benodigde bestanden en afhankelijkheden. Een voorbeeld van zo'n formule is de imagemagick-formule die de locatie van Imagemagick-bronbestanden bevat, een lijst met alle afhankelijkheden, instructies over hoe en waar te installeren welke bestanden en hoe de toepassing moet worden bijgewerkt. Homebrew houdt deze instructies bij en werkt ze bij elke keer dat je hardloopt bij brouw update om u altijd de meest recente "recepten" te geven. Het is echter belangrijk op te merken dat "update" alleen Homebrew zelf update - het zal de software niet upgraden. Als u specifieke software wilt upgraden, moet de opdracht "upgrade" worden gebruikt.

brew update is voor het updaten van Homebrew, brew upgrade is voor het updaten van geïnstalleerde software

Mocht de Imagemagick-suite later worden bijgewerkt, dan is alles wat u hoeft te doen uitgevoerd brouw upgrade imagemagick. Om alle verouderde geïnstalleerde formules te upgraden, kunt u gewoon uitvoeren brouw upgrade, die automatisch de hele "Cellar" (de map waarin alle door Homebrew-opgehaalde software is geïnstalleerd) controleert op verouderde installaties en deze vervangt door nieuwere versies.

Als u een formule wilt verwijderen omdat u denkt dat u deze niet meer nodig heeft of als u op een gevaarlijk lage schijfruimte lijkt te werken, is er brouw verwijderen [formule] opdracht waarbij [formule] moet worden vervangen door de naam van de formule, bijvoorbeeld. zet de installatie van imagemagick ongedaan.

Zie dit om een ​​lijst met de meeste beschikbare formules te zien, maar houd er rekening mee dat er andere "taps" zijn - op maat gemaakte formules die formules hebben die niet worden gehost in de hoofdbranche van Homebrew en als zodanig moeten worden toegevoegd specifiek om beschikbaar te worden, maar bieden een aantal nuttige software als ze eenmaal zijn. Een voorbeeld is de PHP-gerelateerde brouwrepository van Jose Gonzales, waarmee je PHP kunt installeren met Homebrew, waardoor een deel van de onnodige complexiteit van de bovengenoemde PHP-berichten wordt vermeden.

Je kunt details over deze specifieke repo lezen op zijn website, maar een andere opdracht die ik wil noemen, is de "tik": brouwsel tik [repo] waarbij [repo] wordt vervangen door de naam van de repository, zoals: brouw tap josegonzalez / homebrew-php. Het tikcommando "opent een tik", dat wil zeggen, laat Homebrew een andere repository van formules lezen. Dit breidt dan uw opties van installeerbare software uit.


Conclusie

Je weet nu wat Homebrew is en doet. Er zijn nog veel meer commando's om te ontdekken, maar die zijn op dit moment irrelevant omdat degenen die ze nodig hebben deze meestal al kennen. Het gaat erom dat u nu weet hoe u Terminal-geïnstalleerde software moet installeren en bijwerken met een enkele invoerregel. Ik hoop dat dit artikel een deel van de angst en mystiek rondom Homebrew verlichtte en ik hoop dat je het zult proberen en een aantal nieuwe en interessante software zult ontdekken.

Zoals altijd, bedankt voor het lezen en als u vragen hebt, kunt u deze in de reacties plaatsen en ik zal mijn best doen om zo snel mogelijk te antwoorden. Wil je meer weten over een bepaald Mac-gerelateerd onderwerp of deel van OS X dat je verwart of bang maakt? Plaats dit bericht ook, en we zullen ons best doen om het zo snel mogelijk te behandelen.