Article original : How to free up space on your developer Mac
Par Gant Laborde
Nettoyez votre environnement de développement, espèce d'animal malpropre !
J'adore les logiciels de nettoyage ? SVP ! Supprimez les doublons, trouvez les vieux fichiers du système d'exploitation, etc. Mais aucun ne nettoie une machine de développement aussi bien que moi.
Bien sûr, pour l'entretien général, rien ne vaut CleanMyMac. Mais une fois par an, les développeurs devraient exécuter quelques commandes manuelles, car les nettoyeurs automatiques ne sauront pas comment prendre soin d'une machine de développeur.
Avant de commencer, voyons combien d'espace libre vous avez au départ :
Le mien indique 132,2 Go avant le nettoyage. C'est parti !
Utilisateurs de Homebrew sur Mac
Celui-ci permet généralement d'économiser des centaines de mégaoctets de données. Mettez à jour, améliorez, puis nettoyez ces fichiers que vous n'allez pas utiliser.
Mettez à jour puis supprimez les anciennes formules et leurs dossiers :
brew update && brew upgrade && brew cleanup
Vous avez peut-être utilisé brew prune par le passé, mais cela a été abandonné. Cleanup s'en charge pour vous !
Maintenance générale de Brew
Brew est un système complexe, et personne ne le connaît mieux que les mainteneurs. Vous pouvez donc exécuter brew doctor et obtenir quelques tâches supplémentaires à effectuer pour qu'il fonctionne correctement.
Utilisateurs de Git
Git est génial, mais il est facile de laisser traîner un tas de branches fusionnées sur votre machine locale ! Ces branches ne sont plus utiles et peuvent parfois causer des conflits de nommage pour les futures branches.
Vous pouvez supprimer toutes les branches fusionnées d'un seul projet avec cette commande :
git branch --merged master | grep -v "\* master" | xargs -n 1 git branch -d
WOW, quelle bouche pleine pour un seul projet ! Rendons les choses pires. ?
Ce code va se déplacer dans tous les dossiers du répertoire de travail actuel, puis exécuter la commande pour nettoyer les branches fusionnées pour chacun !
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
Développeurs JavaScript
Supprimer les anciens node_modules intégrés dans les projets
La commande suivante trouve tous les dossiers node_modules plus anciens que 120 jours et les supprime. Cela signifie que vous devrez à nouveau exécuter npm i ou yarn dans ces anciens projets. C'est généralement un énorme nettoyage !
Supprime tous les dossiers node_modules plus anciens que 4 mois :
find . -name "node_modules" -type d -mtime +120 | xargs rm -rf
Si vous vous sentez particulièrement agressif, vous pouvez simplement supprimer TOUS les dossiers node_modules et réinstaller au besoin, en supprimant le drapeau mtime.
Supprime tous les dossiers node_modules :
find . -name "node_modules" -type d | xargs rm -rf
Supprimer les anciennes versions de Node
Supprimez les anciennes versions de Node. Cela varie en fonction de votre gestionnaire de Node. J'utilise 'n', donc c'est facile pour moi. Consultez la désinstallation pour votre gestionnaire de version spécifique.
Utilisez-vous
n?Listez toutes les versions de Node + celles installées avec
n ls, puis supprimez celles que vous souhaitez avecn rm <version>.Utilisez-vous
nvm?Listez vos versions installées avec
nvm ls, puis supprimez celles que vous souhaitez avecnvm uninstall <version>.Utilisez-vous
asdf?Listez vos versions installées avec
asdf list nodejs, puis supprimez celles que vous souhaitez avecasdf uninstall nodejs <version>.
Développeurs Ruby
Nettoyez les anciennes versions de Gems avec la commande cleanup. Si vous êtes inquiet, vous pouvez voir les résultats d'abord avec "dryrun".
gem cleanup --dryrun
Ensuite, lorsque vous êtes confiant, vous pouvez supprimer le paramètre "dryrun" et l'exécuter pour de vrai.
gem cleanup
Supprimer les anciennes versions de Ruby
Cela dépend spécifiquement de votre gestionnaire de versions de Ruby. Nous allons couvrir deux versions populaires pour vous aider.
Utilisez-vous
rbenv?Listez vos versions installées avec
rbenv versions, puis supprimez celles que vous souhaitez avecrbenv uninstall <version>.Utilisez-vous
rvm?Listez vos versions installées avec
rvm list, puis supprimez celles que vous souhaitez avecrvm uninstall <version>.
Développeurs Xcode
Xcode adore mettre en cache des choses partout sur votre machine, et certaines d'entre elles font des centaines de mégaoctets. Il est temps de les nettoyer, et si vous devez les reconstruire, pas de problème !
Nettoyer les caches de CocoaPods :
rm -rf "${HOME}/Library/Caches/CocoaPods"
Supprimer les anciens simulateurs Xcode :
xcrun simctl delete unavailable
Nettoyer divers archives, logs et dossiers de données dérivées :
rm -rf ~/Library/Developer/Xcode/Archives
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Developer/Xcode/iOS Device Logs/
Consultez les informations sur vos appareils connectés dans ~/Library/Developer/Xcode/iOS Device Logs/ et supprimez tout ce qui concerne les anciens appareils iOS que vous avez connectés.
Docker
Vous pouvez supprimer tous les volumes non utilisés par au moins un conteneur. Parce que... pourquoi voudriez-vous les garder ?!
Cela peut être énorme ou cela peut ne rien supprimer. Cela vaut le coup d'essayer, non ?
Supprimer les volumes locaux inutilisés
docker volume prune
RÉSULTATS ?!
N'oubliez pas de vider votre corbeille et de vérifier ce que nous avons accompli !
30 GO ! récupérés sur ma machine ! Et vous ?
Votre succès est probablement très différent, mais j'adorerais le savoir. Commentez ou tweetez-moi vos résultats, ainsi que d'autres endroits de développeur que vous recommandez de nettoyer ! Je serai ravi d'ajouter vos conseils à l'article.
Gant Laborde est le Chief Technology Strategist chez Infinite Red, auteur publié, professeur adjoint, conférencier international et un scientifique fou en formation. Applaudissez/suivez/tweetez ou rendez-lui visite lors d'une conférence.
5 Choses qui ne vont pas avec le travail à distance
_Les pièges du travail à distance + solutions proposées_shift.infinite.redReact Native vs. Native
_Dois-je apprendre React Native ou Native?_shift.infinite.red