Πώς να ελευθερώσετε χώρο στον προγραμματιστή σας Mac

Καθαρίστε το περιβάλλον dev σας βρώμικο ζώο!

Εγώαγαπάτε το λογισμικό καθαρισμού; PLZ! Αφαιρέστε διπλότυπα, βρείτε παλιό λειτουργικό σύστημα κ.λπ. Αλλά ποτέ δεν καθαρίζει μια μηχανή ανάπτυξης όπως μπορώ.

Σίγουρα, για γενική συντήρηση, τίποτα δεν ξεπερνά το CleanMyMac. Αλλά μία φορά το χρόνο, οι προγραμματιστές θα πρέπει να εκτελούν μερικές μη αυτόματες εντολές, επειδή οι αυτόματες συσκευές καθαρισμού δεν θα ξέρουν πώς να φροντίζουν έναν υπολογιστή προγραμματιστή.

Πριν ξεκινήσουμε, ας δούμε πόσο "Ελεύθερος χώρος" ξεκινάτε με:

Το ορυχείο αναφέρει 132,2 GB πριν τον καθαρισμό. Ώρα να ξεκινήσετε!

Χρήστες Mac Homebrew

Αυτό συνήθως εξοικονομεί εκατοντάδες megs δεδομένων. Ενημερώστε, αναβαθμίστε και μετά καθαρίστε εκείνα τα αρχεία που δεν πρόκειται να χρησιμοποιήσετε.

Ενημερώστε και, στη συνέχεια, καταργήστε παλιούς τύπους και τους φακέλους τους:

brew update && brew upgrade && brew cleanup

Ίσως να έχετε χρησιμοποιήσει brew pruneστο παρελθόν, αλλά αυτό έχει καταργηθεί. Η εκκαθάριση χειρίζεται αυτό για εσάς!

Γενική συντήρηση παρασκευής

Το Brew είναι ένα περίπλοκο σύστημα και κανείς δεν το γνωρίζει καλύτερα από τους συντηρητές. Έτσι, μπορείτε να τρέξετε brew doctorκαι να πάρετε μερικές επιπλέον δουλειές που θα μπορούσατε να φροντίσετε ώστε να λειτουργεί σωστά.

Χρήστες Git

Το Git είναι υπέροχο, αλλά δεν είναι δύσκολο να αφήσετε ένα σωρό συγχωνευμένα κλαδιά στο τοπικό σας μηχάνημα! Αυτοί οι κλάδοι δεν είναι πλέον χρήσιμοι και μερικές φορές δημιουργούν συγκρούσεις ονομασίας για μελλοντικά υποκαταστήματα.

Μπορείτε να καταργήσετε όλους τους συγχωνευμένους κλάδους από ένα μεμονωμένο έργο με αυτήν την εντολή:

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

Ουάου, τι μπουκιά για ένα μόνο έργο! Ας το κάνουμε χειρότερο. ;

Αυτός ο κωδικός θα CD σε όλους τους φακέλους στον τρέχοντα κατάλογο εργασίας και, στη συνέχεια, εκτελέστε την εντολή για τον καθαρισμό των συγχωνευμένων κλάδων για κάθε!

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

Διαγράψτε τα ΠΑΛΑΙΑ «node_modules» που είναι ενσωματωμένα σε έργα

Η ακόλουθη εντολή εντοπίζει όλους τους node_modulesφακέλους άνω των 120 ημερών και τους καταργεί. Αυτό σημαίνει ότι θα πρέπει npm iή yarnκαι πάλι σε αυτά τα παλαιότερα έργα. Αυτό είναι συνήθως ένα τεράστιο καθαρισμό!

Καταργεί όλους τους node_modulesφακέλους άνω των 4 μηνών:

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

Εάν αισθάνεστε αρκετά επιθετικοί, μπορείτε απλώς να καθαρίσετε ΟΛΟΥΣ τους node_modulesφακέλους και να επανεγκαταστήσετε όπως απαιτείται, αφαιρώντας τη mtimeσημαία.

Καταργεί όλους τους node_modulesφακέλους:

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

Κατάργηση παλαιών εκδόσεων του κόμβου

Κατάργηση παλαιών εκδόσεων του κόμβου. Αυτό διαφέρει ανάλογα με τον διαχειριστή κόμβων. Χρησιμοποιώ το 'n', έτσι είναι εύκολο για μένα. Συμβουλευτείτε την κατάργηση εγκατάστασης για τη συγκεκριμένη διαχείριση έκδοσης.

Χρησιμοποιείτε n; Καταγράψτε όλες τις εκδόσεις του κόμβου + με τις εγκατεστημένες n lsκαι, στη συνέχεια, καταργήστε τις με 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