• Mac
  • 20. december 2025

8 Homebrew-kommandoer til vedligeholdelse af din Mac

Opdateringer, oprydning og fejlfinding behøver ikke være en jungle. Hvis du er Mac-bruger, har du med stor sandsynlighed allerede stiftet bekendtskab med Homebrew - pakkemanageren, der gør det lige så let at installere programmer på macOS, som det er at brygge en kop kaffe

Men vidste du, at Homebrew også rummer en række kraftfulde værktøjer, der kan holde din Mac snorlige og klar til kamp?

I denne guide dykker vi ned i otte uundværlige Homebrew-kommandoer, der hjælper dig med alt fra at opdatere dine favorit-apps til at slippe af med gammelt rod på harddisken. Uanset om du er udvikler, power-bruger eller blot elsker en veltrimmet Mac, vil du her få konkrete tips, smarte flag og bedste praksis, så du kan:

  • Holde både Homebrew og dine installerede pakker ajour
  • Fjerne forældede filer og frigøre dyrebar SSD-plads
  • Diagnosticere og fikse skjulte problemer før de bliver kritiske
  • Automatisere backup af hele din software-opsætning

Sæt kaffen over, åbn Terminal, og gør dig klar til at lære de kommandoer, der forvandler Homebrew fra et praktisk installeringsværktøj til det ultimative vedligeholdelseskit for din Mac. Lad os komme i gang!


brew update – hold Homebrew og taps ajour

Det vigtigste trin i enhver Homebrew-vedligeholdelse er at sikre, at selve værktøjskassen er opdateret. Det gør du med:

brew update

Kommandoen henter seneste ændringer fra GitHub-repository’et bag Homebrew samt alle de taps (ekstra kilder), du har tilføjet. Resultatet er et ajourført indeks over både formler (CLI-pakker) og casks (GUI-apps), så du kan installere og opgradere programmer i nyeste version - uden overraskelser.

Hvorfor skal jeg køre den før alt andet?

  • Korrekte versioner: Ældre metadata kan pege på pakker, der er flyttet eller trukket tilbage.
  • Fejlfri opgraderinger: Hvis du springer update over, kan brew upgrade mislykkes, fordi den ikke kender de nyeste afhængigheder.
  • Sikkerhed: Mange opdateringer lukker CVE-sårbarheder; jo hurtigere du får dem, desto bedre.

Nyttige varianter

Kommando Hvad den gør
brew update --auto-update Kører kun hvis der ikke er blevet opdateret for nyligt (bruges internt af andre Brew-kommandoer).
brew update --verbose Viser detaljerede Git-output, nyttigt til fejlsøgning.
brew update-reset Nulstiller alle Homebrew-gitrepositories til seneste HEAD. Brug den, hvis brew update fejler eller din installation virker korrupt.

Typisk arbejdsgang

  1. Kør brew update for at indlæse seneste metadata.
  2. Kør brew outdated for at se, hvad der faktisk kan opdateres.
  3. Kør brew upgrade (eventuelt med ekstra flag) for at hente nye versioner.

Gør du det til en vane altid at starte med brew update, vil resten af din Homebrew-oplevelse blive mere stabil, hurtig og problemfri.


brew outdated – få overblik over forældede pakker og casks

Når brew update har hentet de seneste “recepter”, er næste skridt at finde ud af, hvad der faktisk trænger til en opgradering. Det klarer du med:

brew outdated

Kommandoen returnerer en liste over alle formler (CLI-pakker) og casks (grafiske apps) der findes en nyere version af. Dermed kan du i ro og mag beslutte, om du vil opgradere det hele på én gang eller kun udvalgte elementer.

Typisk output

openssl@3 3.1.2 < 3.1.3git 2.40.1 < 2.41.0firefox 115.0 < 115.0.1 (auto_updates)
  • Venstre kolonne er pakkenavnet.
  • Midten viser installeret version.
  • Højre viser tilgængelig version (for casks markeres samtidig om de understøtter auto-opdatering).

Nyttige flag

Flag Beskrivelse
--cask Vis kun casks. Praktisk hvis du har mange CLI-pakker, men kun vil tjekke dine apps.
--formula Det omvendte - vis kun formler.
--greedy Medtag casks der som udgangspunkt springes over, fordi de opdaterer sig selv (f.eks. Chrome, VS Code). Giver det fulde billede.
-q “Quiet” - vis kun pakkenavne. Velegnet til scripting.
--verbose Vis fulde paths til installerede versioner for dybere fejlsøgning.

Praktiske eksempler

  1. Se alle forældede casks, inkl. auto-opdaterende:

    brew outdated --cask --greedy
  2. Få en liste over kun formler i kompakt format:

    brew outdated --formula -q
  3. Sammenlign output før den store opgradering:

    # Førbrew outdated > before.txt# Opgradér målrettetbrew upgrade git openssl@3# Efterbrew outdated > after.txtdiff before.txt after.txt

Workflow-tip

Brug altid brew outdated som en slags “to-do-liste” frem for bare at køre brew upgrade i blinde. På den måde undgår du overraskelser som store versionsspring af Python, PostgreSQL eller lignende, der kan kræve manuel migrering.

Husk også, at pakkens pinned status (sat med brew pin navn) betyder, at den ikke dukker op som forældet - medmindre du fjerner pinningen (brew unpin navn).

Afslut eventuelt med brew cleanup eller brew autoremove efter opgraderingen for at sikre, at du ikke gemmer på overflødige versioner eller afhængigheder.


brew upgrade – opdater CLI-værktøjer og apps sikkert

Når brew update har hentet det nyeste indeks, er næste naturlige skridt at opgradere selve pakkerne. Kommandoen brew upgrade sørger for, at både dine CLI-værktøjer (formulas) og dine grafiske programmer (casks) ligger på seneste stabile version - uden at du skal downloade installere manuelt.

Grundlæggende brug

brew upgrade # opgraderer alt, der er forældetbrew upgrade git # opgraderer kun 'git'

Finmaskede filtre

Du behøver ikke køre en fuld opgradering hver gang. Brug i stedet flagene herunder for at målrette processen:

Flag Formål Eksempel
--cask Opgrader kun casks (apps) brew upgrade --cask
--greedy Medtag casks, der ellers opdaterer sig selv (Chrome, VS Code m.fl.) brew upgrade --cask --greedy
pakke@version Spring specifikt til en nyere major-gren brew upgrade [email protected]

Kombinér med brew outdated for fuld kontrol

  1. Kør først brew outdated for at se, hvad der er på vej til at ændre sig.
  2. Beslut, om du vil tage risici ved større versionsskift (fx 1.x → 2.x).
  3. Opgrader selektivt - fx brew upgrade node - eller alt på én gang.

Tip: Står du foran en større projekt-deadline, kan det være klogt kun at opgradere de pakker, du faktisk har brug for - og lade resten vente til et roligere tidspunkt.

Efter opgraderingen

  • Kør brew cleanup for at fjerne gamle versioner og frigive diskplads.
  • Hvis du kører baggrundstjenester via brew services, så genstart dem:
    brew services restart postgresql

Med denne rutine sikrer du, at dit udviklings- og app-miljø altid er opdateret - men stadig under din fulde kontrol.


brew cleanup – fjern gamle versioner og frigør diskplads

brew cleanup er den hurtigste måde at give din Mac en vitamin-indsprøjtning af gratis plads på. Kommandoen fjerner:

  • Ældre versioner af formler (keg-links) og casks
  • Ubrugte downloads i ~/Library/Caches/Homebrew
  • Uddaterede logs og midlertidige build-artefakter

Homebrew kører et automatisk cleanup efter brew upgrade, men der samler sig stadig hurtigt gigabytes, især hvis du tester meget software eller lige har foretaget en større opgradering af macOS/Xcode.

Grundkommando

$ brew cleanup

Kør kommandoen uden argumenter for at rydde op globalt, eller angiv et pakkenavn for kun at rense én specifik formel/cask:

$ brew cleanup [email protected]

Sikkerhedstjek før du trykker på aftrækkeren

Er du nervøs for at miste noget vigtigt, så begynd med en tør kørsel:

$ brew cleanup --dry-run

Flaget viser detaljer om, hvad der slettes, og hvor meget plads du potentielt frigør. Perfekt til server- eller arbejdsmaskiner, hvor du vil undgå ubehagelige overraskelser.

Finjustér hvor aggressiv oprydningen skal være

brew cleanup beholder som standard de tre nyeste versioner af hver formel. Det kan du overstyre:

$ brew cleanup --prune=7

Eksemplet ovenfor sletter alle artefakter, der er ældre end syv dage. Du kan også angive 0 for et helt rent snit.

Tips til den daglige rutine

  1. Kør brew cleanup --dry-run umiddelbart efter brew upgrade; vurder om du vil køre den “rigtige” oprydning.
  2. Tilføj en tilbagevendende launchd-job eller kalenderpåmindelse hver uge eller måned, afhængigt af hvor ofte du installerer nyt.
  3. Kombinér med brew autoremove for at fjerne forældreløse afhængigheder i samme omgang.

Bruger du Homebrew både til CLI-værktøjer og store GUI-apps, kan en enkelt oprydning nemt frigøre flere gigabytes - uden at du mister nogen funktionalitet. Det er derfor en god vane at gøre brew cleanup til en fast del af din Mac-vedligeholdelse.


brew autoremove – fjern forældreløse afhængigheder

Hvor brew cleanup fjerner gamle versioner af pakker, sørger brew autoremove for at slette de afhængigheder, der nu står tilbage uden “ejere”. Det kan være biblioteker, som engang blev trukket ind af en app eller formel, du siden har afinstalleret eller opgraderet, og som Homebrew derfor ikke længere kan se et formelt behov for.

Fordele ved at køre kommandoen

  • Mere ryddeligt miljø — færre overflødige filer mindsker risikoen for PATH-konflikter og andre tåbelige fejl.
  • Mindre diskforbrug — især større database- eller grafik-biblioteker kan hurtigt fylde hundredvis af MB.
  • Hurtigere opgraderinger — jo færre pakker der skal tjekkes ved brew update og brew upgrade, desto hurtigere kører de.

Typisk arbejdsgang

  1. Kør brew outdated for at se, hvad der potentielt skal opdateres.
  2. Opgrader de ønskede pakker med brew upgrade.
  3. Afslut med brew autoremove for at fjerne afhængigheder, der nu er forældreløse.

Eksempler

Kommando Hvad den gør
brew autoremove Sletter alle forældreløse afhængigheder uden yderligere output.
brew autoremove -n eller --dry-run Laver en “tørløbskørsel” og viser dig, hvad der ville blive slettet, men gør intet endnu. Anbefales første gang eller efter større afinstallationer.
brew autoremove --verbose Giver detaljeret information om, hvorfor hver enkelt afhængighed anses for at være forældreløs.

Tip til automatisering

Vil du holde din Mac slank uden at tænke over det, kan du f.eks. sætte følgende LaunchAgent til at køre en gang om ugen:

<?xml version="1.0" encoding="UTF-8"?><plist version="1.0"> <dict> <key>Label</key> <string>dk.itforum.brew.autoremove</string> <key>ProgramArguments</key> <array> <string>/opt/homebrew/bin/brew</string> <string>autoremove</string> </array> <key>StartCalendarInterval</key> <dict><key>Weekday</key><integer>6</integer><key>Hour</key><integer>10</integer></dict> <key>StandardOutPath</key><string>/tmp/brew-autoremove.log</string> <key>StandardErrorPath</key><string>/tmp/brew-autoremove.err</string> </dict></plist>

Kombineret med brew cleanup efterlader brew autoremove din Homebrew-installation i topform og frigiver løbende plads på disken, som ellers langsomt ville blive opslugt af ubrugte afhængigheder.


brew doctor – diagnosticér og ret almindelige problemer

Før du går i gang med større installationer eller efter en række opgraderinger, kan det betale sig at få et “helbredstjek” af din Homebrew-opsætning.

  1. Kør diagnosen
    brew doctor

    Kommandoen scanner opsætningen for kendte faldgruber - alt fra manglende Xcode-komponenter til hengemte symlinks eller PATH-problemer.

  2. Forstå advarslerne

    Output er farvekodet: gule linjer er advarsler, røde linjer er fejl.

    Typisk advarsel Hvad betyder det? Sådan løser du det
    /usr/local/include is not writable. Homebrew kan ikke lægge headers dér. Kør sudo chown -R $(whoami) /usr/local/include
    You have unlinked kegs in your Cellar. En ældre version er stadig installeret, men ikke aktiv. brew unlink <pakke> eller brew cleanup
    Warning: /opt/homebrew/bin is not in your PATH. Shell’en finder ikke Homebrew-binærerne. Tilføj eval "$(/opt/homebrew/bin/brew shellenv)" til din .zprofile
  3. Følg rådene - én efter én

    Løs en fejl ad gangen og kør derefter brew doctor igen, indtil du får den tilfredsstillende besked:

    Your system is ready to brew.
  4. Pro tip: Kombination med andre værktøjer
    • Efter større oprydninger: brew cleanup og brew autoremove
    • Efter environment-ændringer: hash -r (opdaterer shellens command-cache)
    • Har du både Intel- og Apple Silicon-Homebrew? Kør arch -x86_64 brew doctor for at tjekke den “andet” arkitektur.

Når brew doctor melder alt OK, er chancen for kryptiske installationsfejl og uforklarlige konflikter væsentligt reduceret - og du kan roligt fortsætte med de næste vedligeholdelsestrin.


brew services – administrér baggrundstjenester

Har du installeret databaser, søgeservere eller andre dæmoner via Homebrew (f.eks. postgresql, redis eller elasticsearch), så er brew services nøglen til at holde dem kørende - også efter en genstart af din Mac.

Grundlæggende kommandoer

Kommando Funktion
brew services list Vis en oversigt over alle tjenester, deres status og hvilken bruger de kører som.
brew services start <pakke> Starter tjenesten og tilføjer den til launchctl, så den starter automatisk ved login.
brew services stop <pakke> Stopper tjenesten og fjerner den fra automatisk opstart.
brew services restart <pakke> Praktisk efter en opgradering eller konfig-ændring - stopper og starter tjenesten i ét hug.
brew services cleanup Rydder “zombier” - gamle launch-plists der peger på pakker, som ikke længere findes.

Typisk arbejdsgang efter en opgradering

  1. Kør først brew upgrade for at hente nye versioner.
  2. Tjek derefter om nogen services er berørt:
    brew services list
  3. Genstart de relevante tjenester:
    brew services restart postgresql
    Tip: Undgå nedetid ved at genstarte én tjeneste ad gangen, især på udviklingsmaskiner hvor flere projekter kan være afhængige af forskellig software.

Hvornår skal du bruge sudo?

Som udgangspunkt kører Homebrew-tjenester som den aktuelle bruger (user-level services). Hvis flere brugere på samme Mac skal dele en database, kan du starte tjenesten som root:

sudo brew services start --all
Men: hold dig til user-services, medmindre du ved, hvorfor du fraviger standarden - det forenkler fejlfinding og oprydning.

Fejlsøgning hurtigere

  • brew services run <pakke> - kør tjenesten i forgrunden for at se live-logs.
  • Logfiler findes typisk i /usr/local/var/log eller /opt/homebrew/var/log afhængigt af processor-arkitektur.
  • Er du i tvivl om en plists placering, så kig i udskriften fra brew services list; den viser den fulde sti.

Med disse få kommandoer holder du dine baggrundstjenester sunde, undgår at bruge tid på manuelle launchctl-stunts - og sikrer, at dine udviklingsværktøjer altid er klar, når du logger ind.


brew bundle – tag backup og genskab dit setup med Brewfile

Ligesom Gemfile i Ruby-verdenen eller package.json i JavaScript giver Homebrew dig en deklarativ fil - Brewfile - der beskriver hele dit miljø. Når du først har den, kan du genskabe din Mac (eller flytte til en ny) med ét enkelt kommando-kald.

Sådan laver du filen

  1. Kør følgende i roden af dit hjemmekatalog eller i et tomt git-repo:

    brew bundle dump --describe --force
    • --describe føjer en kort tekst til hver linje, så du senere kan huske, hvorfor pakken er der.
    • --force overskriver en eksisterende Brewfile i samme mappe.

    Resultatet er en Brewfile, typisk seende sådan ud:

    # Tapstap "homebrew/cask"# CLI-pakkerbrew "fzf" # Command-line fuzzy finderbrew "git" # Distributed version control system# GUI-appscask "visual-studio-code" # Microsofts editor# App Store-apps (kræver mas-cli)mas "497799835" , id: "Xcode" # Apples IDE
  2. Tilføj filen til version-control:

    git initgit add Brewfilegit commit -m "Track my Homebrew setup"

    På den måde kan du altid gå tilbage i historikken eller dele filen via GitHub.

Genskab eller migrér

  1. Klon (eller kopiér) repoet til den nye Mac.
  2. Åbn Terminal i mappen med Brewfile og kør:
brew bundle

Homebrew læser filen linje for linje og:

  • tapper de nødvendige repositories
  • installerer alle brew-pakker
  • henter hver cask (apps)
  • bruger mas-cli til at trække App Store-køb ned

Det eneste du skal gøre manuelt, er at logge ind i App Store før første kørsel, hvis du benytter mas-sektionen.

Praktiske kommandoer

Kommando Hvad den gør
brew bundle check Viser om alt i Brewfile allerede er installeret.
brew bundle cleanup Fjerner alt, der ikke står i filen - en god måde at holde maskinen “deklarativ” på.
brew bundle dump --global Gemmer filen som ~/.Brewfile, så du kan køre brew bundle hvor som helst.
HOMEBREW_BUNDLE_FILE=path brew bundle Angiv en alternativ placering for Le

Tips & god praksis

  • Automatisér eksport: Smid brew bundle dump --describe --force i et cronjob eller en LaunchAgent, så du altid har en frisk backup.
  • Hold filen slank: Efter store oprydninger kan du køre brew autoremove og derefter brew bundle dump --force for at bogføre ændringerne.
  • Del opsætningen i teamet: Kombinér Brewfile med dotfiles for en komplet “Mac as code” strategi.
  • Undgå overraskelser: Brug brew bundle check i CI-jobs eller scripts før du sletter noget med brew bundle cleanup.

Med brew bundle er din Homebrew-opsætning ikke længere bundet til én fysisk maskine - den er blot endnu en fil i dit repo. Det sparer tid ved geninstallationer, gør fejlfinding nemmere og giver dig tryghed i hverdagen.