Cómo liberar espacio en tu Mac de desarrollador

¡Limpia tu entorno de desarrollo, animal asqueroso!

yo¿Te encanta el software de limpieza? PLZ! Elimina duplicados, encuentra el viejo sistema operativo, etc. Pero nunca limpia una máquina de desarrollo como puedo.

Claro, para el mantenimiento general, nada supera a CleanMyMac. Pero una vez al año, los desarrolladores deben ejecutar algunos comandos manuales, porque los autolimpiadores no sabrán cómo cuidar una máquina de desarrollo.

Antes de comenzar, veamos con cuánto "espacio libre" está comenzando:

El mío informa 132,2 GB antes de la limpieza. ¡Es hora de empezar!

Usuarios de Homebrew de Mac

Este generalmente elimina cientos de megas de datos. Actualice, actualice y luego limpie los archivos que no va a utilizar.

Actualice y luego elimine las fórmulas antiguas y sus carpetas:

brew update && brew upgrade && brew cleanup

Es posible que lo haya usado brew pruneen el pasado, pero ha quedado obsoleto. ¡La limpieza se encarga de esto por ti!

Mantenimiento general de preparación

Brew es un sistema complicado y nadie lo conoce mejor que los mantenedores. Por lo tanto, puede correr brew doctory realizar algunas tareas adicionales de las que podría encargarse para que funcione correctamente.

Usuarios de Git

Git es genial, ¡pero no es difícil dejar un montón de ramas fusionadas en tu máquina local! Esas ramas ya no son útiles y, a veces, crean conflictos de nombres para ramas futuras.

Puede eliminar todas las ramas fusionadas de un solo proyecto con este comando:

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

¡Vaya, qué bocado para un solo proyecto! Hagámoslo peor. ?

Este código se colocará en un CD en todas las carpetas del directorio de trabajo actual y luego ejecutará el comando para limpiar las ramas fusionadas de cada una.

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

Desarrolladores JavaScript

Eliminar OLD `node_modules` incrustado en proyectos

El siguiente comando busca todas las node_modulescarpetas con más de 120 días y las elimina. Esto significa que tendrá que hacerlo npm io yarnnuevamente en esos proyectos más antiguos. ¡Esto suele ser una gran limpieza!

Elimina todas las node_modulescarpetas de más de 4 meses:

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

Si se siente bastante agresivo, puede borrar TODAS las node_modulescarpetas y volver a instalar según sea necesario, eliminando la mtimebandera.

Elimina todas las node_modulescarpetas:

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

Eliminar versiones antiguas de Node

Elimina las versiones antiguas de Node. Esto varía según su administrador de nodo. Uso 'n' así que es fácil para mí. Consulte la desinstalación para su administrador de versiones específico.

Usando n? Enumere todas las versiones de node + las instaladas con n lsy luego elimine cualquiera con

Original text


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