¡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 prune
en 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 doctor
y 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_modules
carpetas con más de 120 días y las elimina. Esto significa que tendrá que hacerlo npm i
o yarn
nuevamente en esos proyectos más antiguos. ¡Esto suele ser una gran limpieza!
Elimina todas las node_modules
carpetas 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_modules
carpetas y volver a instalar según sea necesario, eliminando la mtime
bandera.
Elimina todas las node_modules
carpetas:
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.
Usandon
? Enumere todas las versiones de node + las instaladas con n ls
y 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