Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Mac

Giải phóng dung lượng ổ cứng Mac cho Developer: Mẹo dọn dẹp thủ công

Dọn dẹp môi trường dev bạn ơi!

Tôi yêu dọn dẹp phần mềm? CÀI ĐẶT! Xóa trùng, tìm rác OS cũ v.v. Nhưng không bao giờ dọn máy dev sạch như tôi.

Chắc chắn, bảo trì chung, không gì đánh bại CleanMyMac. Nhưng hàng năm, developer nên chạy vài lệnh thủ công, vì auto-cleaner không biết chăm sóc máy dev.

Trước khi bắt đầu, xem "Free Space" (Dung lượng trống) ban đầu:

Giải phóng dung lượng ổ cứng Mac cho Developer: Mẹo dọn dẹp thủ công

Máy tôi báo 132.2 GB trước khi dọn. Bắt đầu!

Dành cho người dùng Homebrew trên Mac

Điều này thường giải phóng hàng trăm MB. Update, upgrade, rồi dọn file không dùng.

Update rồi xóa formulae cũ và thư mục của chúng:

brew update && brew upgrade && brew cleanup

Có thể bạn dùng brew prune trước, nhưng đã deprecated. Cleanup lo chuyện đó!

Bảo trì Homebrew chung

Homebrew phức tạp, không ai hiểu hơn maintainer. Chạy brew doctor lấy thêm việc để chạy trơn tru.

Dành cho người dùng Git

Git tuyệt, nhưng dễ để lại nhánh merged rải rác trên máy local! Nhánh đó không còn hữu ích, đôi khi gây xung đột tên nhánh tương lai.

Xóa tất cả nhánh merged từ một project:

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

WOW,command dài cho chỉ 1 project! Làm tệ hơn. ?

Code này cd vào tất cả thư mục trong thư mục làm việc hiện tại, chạy lệnh dọn nhánh merged cho từng cái!

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ành cho JavaScript Developer

Xóa node_modules cũ nhúng trong project

Lệnh sau tìm tất cả thư mục node_modules cũ hơn 120 ngày và xóa. Nghĩa là phải npm i hoặc yarn lại project cũ. Thường là dọn dẹp khổng lồ!

Xóa tất cả node_modules cũ hơn 4 tháng:

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

Nếu cảm thấy aggressive, xóa tất cả node_modules và cài lại khi cần, bỏ flag mtime.

Xóa tất cả node_modules:

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

Xóa phiên bản Node cũ

Xóa Node phiên bản cũ. Tùy Node manager. Tôi dùng 'n' nên dễ. Xem uninstall cho version manager cụ thể.

Dùng n?
Liệt kê phiên bản node + đã cài với n ls rồi xóa với n rm <version>.
Dùng nvm?
Liệt kê phiên bản cài với nvm ls rồi xóa với nvm uninstall <version>.
Dùng asdf?
Liệt kê phiên bản cài với asdf list nodejs rồi xóa với asdf uninstall nodejs <version>.

Dành cho Ruby Developer

Dọn phiên bản Gem cũ với lệnh cleanup. Nếu lo, xem trước với "dryrun".

gem cleanup --dryrun

Khi tự tin, bỏ "dryrun" chạy thật.

gem cleanup

Xóa phiên bản Ruby cũ

Tùy Ruby version manager. Làm 2 phổ biến.

Dùng rbenv?
Liệt kê phiên bản cài với rbenv versions rồi xóa với rbenv uninstall <version>.
Dùng rvm?
Liệt kê phiên bản cài với rvm list rồi xóa với rvm uninstall <version>.

Dành cho Xcode Developer

Xcode thích cache khắp máy, vài trăm MB. Dọn cho sạch, cần rebuild thì rebuild!

Dọn cache CocoaPods:

rm -rf "${HOME}/Library/Caches/CocoaPods"

Xóa Xcode Simulator cũ:

xcrun simctl delete unavailable

Dọn các archives, logs, derived data:

rm -rf ~/Library/Developer/Xcode/Archives
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Developer/Xcode/iOS Device Logs/

Kiểm tra info thiết bị kết nối trong ~/Library/Developer/Xcode/iOS Device Logs/ xóa gì cho iOS device cũ đã kết nối.

Docker

Xóa tất cả volume không dùng bởi ít nhất một container. Vì... tại sao giữ chúng?!

Có thể khổng lồ hoặc không xóa gì. Chạy thử!

Xóa local volume không dùng:

docker volume prune

KẾT QUẢ?! 🎉

Đừng quên xóa Thùng rác và kiểm tra thành quả!

Giải phóng dung lượng ổ cứng Mac cho Developer: Mẹo dọn dẹp thủ công
30 GIGS! rút ra từ máy tôi! Bạn sao?

Kết quả bạn chắc khác, nhưng tôi muốn biết. Comment hoặc tweet kết quả, và các điểm dọn dev khác bạn đề xuất! Tôi sẽ thêm vào bài.

Gant Laborde là Chief Technology Strategist tại Infinite Red, tác giả, giảng viên, speaker toàn cầu, và mad scientist đang tập. Clap/follow/tweet hoặc gặp tại hội nghị.

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