Sådan frigøres plads på din Mac-udvikler

Ryd op i dit miljø, dit beskidte dyr!

jegelsker rengøringssoftware? PLZ! Fjern dubletter, find gammel OS cruft osv. Men det renser aldrig en udviklingsmaskine, som jeg kan.

Sikker på, for generel vedligeholdelse, slår intet CleanMyMac. Men en gang om året skal udviklere køre gennem et par manuelle kommandoer, fordi auto-rengøringsmidler ikke ved, hvordan man tager sig af en udviklermaskine.

Lad os se på, hvor meget "ledig plads" du starter med, inden vi starter:

Mine rapporterer 132,2 GB inden rengøring. Tid til at komme i gang!

Brugere af Mac Homebrew

Denne barberer normalt hundreder af megas data. Opdater, opgrader og ryd derefter op i de filer, du ikke vil bruge.

Opdater derefter fjern gamle formler og deres mapper:

brew update && brew upgrade && brew cleanup

Du har muligvis brugt brew prunedet tidligere, men det er udfaset. Oprydning håndterer dette for dig!

Generel brygningsvedligeholdelse

Brygge er et kompliceret system, og ingen ved det bedre end vedligeholdere. Så du kan løbe brew doctorog få nogle ekstra opgaver, du kan passe på for at få det til at køre ordentligt.

Git brugere

Git er fantastisk, men det er ikke svært at efterlade en flok flettede grene på din lokale maskine! Disse grene er ikke nyttige længere, og nogle gange skaber navngivningskonflikter for fremtidige grene.

Du kan fjerne alle de flettede grene fra et enkelt projekt med denne kommando:

git branch --merged master | grep -v "\* master" | xargs -n 1 git branch -d

WOW, hvilken mundfuld kun for et projekt! Lad os gøre det værre. ?

Denne kode CD i alle mapper i den aktuelle arbejdsmappe, og kør derefter kommandoen for at rense flettede grene for hver!

for d in */; do cd $d; echo WORKING ON $d; git branch --merged master | grep -v "\* master" | xargs -n 1 git branch -d; cd ..; done

JavaScript-udviklere

Slet GAMLE `node_modules` integreret i projekter

Følgende kommando finder alle node_modulesmapper ældre end 120 dage og fjerner dem. Dette betyder, at du bliver nødt til npm ieller yarnigen i de ældre projekter. Dette er normalt en kæmpe oprydning!

Fjerner alle node_modulesmapper ældre end 4 måneder:

find . -name "node_modules" -type d -mtime +120 | xargs rm -rf

Hvis du føler dig ret aggressiv, kan du bare rydde ALLE node_modulesmapper og geninstallere efter behov ved at fjerne mtimeflag.

Fjerner alle node_modulesmapper:

find . -name "node_modules" -type d | xargs rm -rf

Fjern gamle versioner af Node

Fjern gamle versioner af Node. Dette varierer afhængigt af din Node-manager. Jeg bruger 'n', så det er let for mig. Kontakt afinstallation for din specifikke version manager.

Brug n? Liste over alle versioner af node + dine installerede med n lsog fjern derefter alle med n rm on>. Using nvm?List your installed versions with nvm ls and then remove any with nvm uninstall on>. Using asdf?List your installed versions with asdf list nodejs and then remove any with asdf uninstall nodejs on>.

Ruby Developers

Clean up old versions of Gems with the cleanup command. If you’re worried, you can see the results first with “dryrun”.

gem cleanup --dryrun

Then when you are confident, you can remove the “dryrun” param and run it for real.

gem cleanup

Remove old versions of Ruby

This depends specifically on your Ruby version manager. We’ll do two popular versions to help you out.

Using rbenv?List your installed versions with rbenv versions and then remove any with rbenv uninstall on>. Using rvm?List your installed versions with rvm list and then remove any with rvm uninstall on>.

Xcode Developers

Xcode loves to cache things all over your machine, and some of these are hundreds of megs. Time to clean them up, and if you need to rebuild them again, no worries!

Clean up CocoaPod caches:

rm -rf "${HOME}/Library/Caches/CocoaPods"

Delete old Xcode Simulators:

xcrun simctl delete unavailable

Clean up various archives, logs, and derived data folders:

rm -rf ~/Library/Developer/Xcode/Archives rm -rf ~/Library/Developer/Xcode/DerivedData rm -rf ~~/Library/Developer/Xcode/iOS Device Logs/

Check out your connected device info in ~/Library/Developer/Xcode/iOS Device Logs/ and delete anything for old iOS devices you’ve connected.

Docker

You can remove all volumes not used by at least one container. Because… why would you want those?!

This might be huge or it might remove nothing. Worth a run right!?

Remove unused local volumes

docker volume prune

RESULTS?!

Don’t forget to empty your trash and check on how we did!

30 GIGS! pulled off my machine! How about you?

Your success is probably vastly different, but I’d love to know. Comment or tweet at me your results, and any other developer spots you recommend we clean! I’ll be happy to add your advice to the article.

Gant Laborde is Chief Technology Strategist at Infinite Red, published author, adjunct professor, worldwide public speaker, and a mad scientist in training. Clap/follow/tweet or visit him at a conference.

5 Things that Suck about Remote Work

The Pitfalls of Remote Work + Proposed Solutionsshift.infinite.redReact Native vs. Native

Should I learn React Native or Native?shift.infinite.red