I min søken etter å «automatisere alle tingene» har jeg vært på en reise for å administrere min Mac-bærbare datamaskin som koden den iboende er. I stedet for å peke og klikke for å administrere applikasjonene og verktøyene mine manuelt, foretrekker jeg å bruke pakkeadministrasjonsprogramvare for å installere, oppdatere og fjerne unødvendig programvare.
Det er en utfordring for Mac-brukere. Et sted der Mac-en operativsystem, macOS, har alltid ligget bak Linux er i pakkehåndtering. Det er ingen standard pakkehåndtering for Mac-brukere, mens Linux-brukere har mange muligheter – fra de kjente yum
og apt
til det moderne valget av Flatpak. Men hva med oss?
Det er her Homebrew kommer inn. Homebrew fyller tomrommet som de facto pakkeleder for macOS (og som et annet alternativ for Linux). Det gir en utrolig jevn og grei opplevelse for alle som er kjent med kommandolinjen, og det er en god måte å lære kommandolinjen hvis du er ny på den.
Hvis du er på en Mac og ikke allerede har Homebrew, kan du installere den med:
Denne kommandoen utfører i nstaller-skript levert av Homebrew-teamet. Hvis du foretrekker å være mer forsiktig, kan du curl
filen, og deretter kjøre den manuelt etter å ha vurdert den:
Administrer kommandolinjeprogrammene dine med brygge
Homebrew skryter av at den «installerer de tingene du trenger som Apple (eller Linux-systemet ditt) ikke» t «installerte som standard. Installasjonen skjer med kommandoen brew
, som gir oss tilgang til tusenvis av kommandolinjeverktøy, men ikke mer komplekse applikasjoner.
For oss nerder inkluderer verktøyene som passer inn i kategorien «ting du trenger» den praktiske tree
kommando som viser katalogstrukturer og pyenv
, som jeg bruker til å administrere flere versjoner av Python.
Du kan se alle «formlene» som er tilgjengelige fra Homebrew ved hjelp av search
-kommandoen, og jeg bruker wc
-kommandoen viser hvor mange formler det er:
# -l counts the number of lines
$ brew search | wc -l
5013
Det er over 5000 formler, noe som er utrolig mengden programvare. Så det er best å ha en ide om hva du vil ha før du søker i den enorme listen. Heldigvis er det lett nok å bla gjennom. Formler blir kodifisert og sentralisert i kjernelagrene som er delt etter operativsystem (Mac i Homebrew Core og Linux i Linux Core). De er også tilgjengelige via Homebrew API og oppført på nettstedet.
Word of mouth er en annen flott metode for å finne bruksområder. Med det i tankene, her er noen av favorittene mine hvis du «ser etter inspirasjon:
-
pyenv
,rbenv
ognodenv
for å administrere Python-, Ruby- og Node.js-versjoner (henholdsvis) -
imagemagick
for skriptbare bilderedigeringer -
pandoc
for skriptbare dokumentkonverteringer (jeg bytter ofte fra .docx til .md eller .html) -
hub
for en bedre Git-opplevelse for GitHub-brukere -
tldr
for eksempler på hvordan du bruker en command-li ne verktøy
Som et eksempel, ta en titt på tldr-sider, et brukervennlig alternativ til å bla gjennom en manns sider. Du kan bekrefte at den er tilgjengelig ved å kjøre search
igjen:
$ brew search tldr
==> Formulae
tldr ✔
Suksess! Hakemerket gir deg beskjed om det er tilgjengelig. Nå kan du installere den:
Homebrew, heldigvis, forhåndsbygger binærfiler, slik at du ikke trenger å bygge fra kildekoden på din lokale maskin. Det sparer mye tid og CPU-viftestøy. En annen ting jeg setter pris på ved Homebrew er at du kan sette pris på denne funksjonen uten å forstå nøyaktig hva den betyr.
Men hvis du er interessert i den, kan det være morsomt å se på kompleksiteten. Kjør info
på tldr
, og du kan se all avhengighetsadministrasjon, kildekoden og til og med offentlig analyse:
Endelig, som i en hvilken som helst god pakkehåndtering er Homebrew «s brew uninstall
tilgjengelig for raskt å rense og fjerne ubrukte verktøy.
Administrer applikasjonene dine med bryggefat
Kommandolinjeverktøy er kjempegøy, men hva med fullblåste applikasjoner? Homebrew holder standardkommandoene enkle og installerer bare enkeltfilsprogrammer gjennom standard brew
kommandolinjegrensesnitt. Applikasjoner passer ikke til den strukturen. De har et mer komplekst kataloghierarki som er mye mer enn en enkelt binær.
Heldigvis inkluderer Homebrew på Mac en underkommando kalt «casks» for mer komplekse multikatalogstrukturer .Det som er spesielt hyggelig er at cask
bruker en lignende kommandostruktur som standard brew
-kommandoene, slik at du kan bruke lignende search
, install
og info
trinn:
brew search --cask | wc -l
4772
Wow, det er nesten 5000 flere applikasjoner å bla gjennom, som er lettere å lese på Homebrews nettsted.
Jeg vil gå gjennom cask
med en av de nye favorittapplikasjonene mine: Meld (som jeg har lest om på Opensource.com). Det er en funksjonsrik redaktør som hjelper til med å håndtere sammenslåingskonflikter. Det er en nedlasting på nettstedet, og jeg kan kjøre gjennom installasjonsprogrammet og dra og slippe det inn i applikasjonsmappen min, men det gjør jeg ikke lenger. Jeg bruker Homebrew.
Først, jeg bekreft at den er tilgjengelig gjennom en litt annen syntaks:
$ brew search --casks meld
==> Casks
meld
Så bruker jeg cask
underkommando for å installer den:
Homebrew installerer ikke bare applikasjonen, men gjør den også tilgjengelig i min nåværende bane under /usr/local/bin/
. Nå kan jeg kjøre meld
fra kommandolinjen eller starte applikasjonen fra applikasjonsmappen.
Oppdater alt med bryggeoppgradering
Hoved grunnen til at jeg konsekvent bruker en pakkebehandling er slik at jeg konsekvent kan oppgradere programvaren min for å unngå kjente sikkerhetsfeil og sikre at jeg alltid har de nyeste funksjonene. Hvis jeg installerer alt for hånd, må jeg holde øye med hvert verktøy og program for å vite om det har en automatisk oppdatering, og hvis ikke, kan jeg selv trekke ned de siste utgivelsene.
Oppgraderinger er de beste pakkehåndtering skinner. Siden jeg ikke har noen spesielle versjonskrav, kjører jeg bare en kommando for å oppdatere alt jevnt:
Hvis du har mer komplekse behov eller ønsker å holde øye med oppgraderingene før du installerer dem, er det nok av tilgjengelige funksjoner. For eksempel tilbyr -n
et «tørrløp» som viser tilgjengelige oppgraderinger uten å installere dem. Du kan også «feste» en applikasjonsversjon for å forhindre oppgraderinger.
Sikkerhetskopier installasjonen din
Kommandolinjeprogrammet og applikasjonsadministrasjonen hopper til et helt nytt nivå når verktøy lar deg sikkerhetskopiere installasjonen som alle andre dotfiler i versjonskontroll. Homebrew har den typen funksjonalitet som er tilgjengelig for bruk under dump
underkommando. Den genererer en Brewfile
, som er en gjenbrukbar liste over alle installerte verktøy. en fra installasjonen din, gå inn i den mappen du foretrekker, og kjør:
$ cd ~/Development/dotfiles # This is my dotfile folder
$ brew bundle dump
Når jeg bytter maskin og vil t for å installere de samme applikasjonene med Homebrew, går jeg til mappen med Brewfile og kjører:
Den vil installere alle de oppførte formlene og fatene på ny maskin.
Gå til Homebrew for pakkehåndtering
Homebrew er min go-to-manager for kommandolinjeverktøy og applikasjoner. Det holder meg organisert og oppdatert, og designet er en vakker balanse mellom brukervennlighet og dybde av funksjonalitet. Homebrew minimerer detaljene for administrasjon av pakker til bare det du trenger å vite, og de fleste brukere vil ha nytte av det.
Hvis du allerede er komfortabel med Linux-pakkeadministratorer, kan du synes Homebrew er for enkel, men ikke feil Homebrew brukervennlighet på grunn av manglende funksjoner. Å se litt dypere avslører mange avanserte alternativer som går langt utover det jeg viste deg her. Legge til -h
til alle brew
underkommando viser de rike funksjonene som er tilgjengelige for å oppgradere, fjerne, feilsøke og til og med bidra med nye formler ved hjelp av maler.