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 prune
det 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 doctor
og 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_modules
mapper ældre end 120 dage og fjerner dem. Dette betyder, at du bliver nødt til npm i
eller yarn
igen i de ældre projekter. Dette er normalt en kæmpe oprydning!
Fjerner alle node_modules
mapper æ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_modules
mapper og geninstallere efter behov ved at fjerne mtime
flag.
Fjerner alle node_modules
mapper:
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.
Brugn
? Liste over alle versioner af node + dine installerede med
n ls
og 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