ทำความสะอาดสภาพแวดล้อม dev ของคุณ ไอ้สัตว์สกปรก!
ฉัน รักซอฟต์แวร์ทำความสะอาด? ได้โปรด! ลบรายการที่ซ้ำกัน ค้นหา OS cruft เก่า ฯลฯ แต่มันไม่เคยทำความสะอาดเครื่องพัฒนาเท่าที่ฉันจะทำได้
แน่นอนว่าสำหรับการบำรุงรักษาทั่วไป ไม่มีอะไรดีไปกว่า CleanMyMac แต่ปีละครั้ง นักพัฒนาซอฟต์แวร์ควรเรียกใช้คำสั่งด้วยตนเองสองสามคำสั่ง เนื่องจากโปรแกรมทำความสะอาดอัตโนมัติไม่รู้ว่าจะดูแลเครื่องของนักพัฒนาอย่างไร
ก่อนที่เราจะเริ่มต้น มาดูกันว่าคุณเริ่มต้นด้วย "พื้นที่ว่าง" มากแค่ไหน:
ของฉันรายงาน 132.2 GB ก่อนทำความสะอาด ถึงเวลาเริ่มต้น!
ผู้ใช้ Mac Homebrew
สิ่งนี้มักจะกำจัดข้อมูลหลายร้อยเมกะ อัปเดต อัปเกรด และล้างไฟล์ที่คุณไม่ต้องการใช้
อัปเดตแล้วลบสูตรเก่าและโฟลเดอร์ของสูตร:
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 WOW โปรเจกต์เดียวคุ้มจริงๆ! มาทำให้มันแย่ลง ?
รหัสนี้จะซีดีลงในโฟลเดอร์ทั้งหมดในไดเร็กทอรีการทำงานปัจจุบัน จากนั้นเรียกใช้คำสั่งเพื่อล้างสาขาที่ผสานสำหรับแต่ละรายการ!
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 ลบโหนดเวอร์ชันเก่า
ลบ Node.js เวอร์ชันเก่า สิ่งนี้แตกต่างกันไปขึ้นอยู่กับตัวจัดการโหนดของคุณ ฉันใช้ 'n' ดังนั้นมันจึงง่ายสำหรับฉัน ปรึกษาการถอนการติดตั้งสำหรับตัวจัดการเวอร์ชันเฉพาะของคุณ
การใช้ n ? แสดงรายการโหนดทุกเวอร์ชัน + เวอร์ชันที่ติดตั้งของคุณด้วยn lsแล้วลบด้วยn rm <versiบน>.
การใช้ nvm ? แสดงรายการเวอร์ชันที่ติดตั้งของคุณด้วยnvm lsแล้วลบด้วยnvm uninstall <versiบน>.
การใช้ asdf ? แสดงรายการเวอร์ชันที่ติดตั้งของคุณด้วยasdf list nodejsแล้วลบด้วยasdf uninstall nodejs <versiบน>.
นักพัฒนาทับทิม
ทำความสะอาด Gems เวอร์ชันเก่าด้วย cleanup สั่งการ. หากเป็นกังวล ก็เห็นผลก่อนด้วย “dryrun”
gem cleanup --dryrun เมื่อมั่นใจแล้ว ก็ลบพารามิเตอร์ “dryrun” ออกแล้วเรียกใช้จริงได้
gem cleanup ลบ Ruby เวอร์ชันเก่า
ขึ้นอยู่กับตัวจัดการเวอร์ชัน Ruby ของคุณโดยเฉพาะ เราจะทำสองเวอร์ชันยอดนิยมเพื่อช่วยคุณ
ใช้ rbenv ? แสดงรายการเวอร์ชันที่ติดตั้งของคุณด้วยrbenv versionsแล้วลบด้วยrbenv uninstall <versiบน>.
การใช้ rvm ? แสดงรายการเวอร์ชันที่ติดตั้งของคุณด้วยrvm listแล้วลบด้วยrvm uninstall <versiบน>.
นักพัฒนา Xcode
Xcode ชอบที่จะแคชสิ่งต่าง ๆ ทั่วทั้งเครื่องของคุณและบางส่วนมีหลายร้อยเมกะ ถึงเวลาทำความสะอาดแล้ว และหากคุณต้องการสร้างใหม่อีกครั้ง ไม่ต้องกังวล!
ล้างแคช CocoaPod:
rm -rf "${HOME}/Library/Caches/CocoaPods" ลบ Xcode Simulators เก่า:
xcrun simctl delete unavailable ล้างข้อมูลที่เก็บถาวร บันทึก และโฟลเดอร์ข้อมูลที่ได้รับ:
rm -rf ~/Library/Developer/Xcode/Archives
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~~/Library/Developer/Xcode/iOS Device Logs/
ตรวจสอบข้อมูลอุปกรณ์ที่เชื่อมต่อของคุณใน ~/Library/Developer/Xcode/iOS Device Logs/ และลบทุกอย่างในอุปกรณ์ iOS เครื่องเก่าที่คุณเชื่อมต่อ
นักเทียบท่า
คุณสามารถลบโวลุ่มทั้งหมดที่ไม่ได้ใช้โดยคอนเทนเนอร์อย่างน้อยหนึ่งรายการ เพราะ… ทำไมคุณถึงต้องการมัน!
นี่อาจเป็นเรื่องใหญ่หรืออาจไม่มีอะไรเอาออก คุ้มไหมกับการวิ่ง!?
ลบโวลุ่มในเครื่องที่ไม่ได้ใช้
docker volume prune ผลลัพธ์?!
อย่าลืมล้างถังขยะและดูว่าเราทำได้อย่างไร!

30 GIGS! ดึงออกจากเครื่องของฉัน! แล้วคุณล่ะ?ความสำเร็จของคุณอาจแตกต่างกันมาก แต่ฉันอยากรู้ แสดงความคิดเห็นหรือทวีตถึงผลลัพธ์ของคุณ และจุดนักพัฒนาอื่น ๆ ที่คุณแนะนำให้เราทำความสะอาด! เรายินดีที่จะเพิ่มคำแนะนำของคุณในบทความ
Gant Laborde เป็นหัวหน้านักยุทธศาสตร์ด้านเทคโนโลยีที่ Infinite Red นักเขียนที่ได้รับการตีพิมพ์ ผู้ช่วยศาสตราจารย์ นักพูดในที่สาธารณะทั่วโลก และนักวิทยาศาสตร์ที่คลั่งไคล้ในการฝึกอบรม ปรบมือ / ติดตาม / ทวีตหรือเยี่ยมชมเขาในการประชุม
5 สิ่งที่แย่เกี่ยวกับการทำงานทางไกล
หลุมพรางของการทำงานทางไกล + วิธีแก้ปัญหาที่เสนอ shift.infinite.redตอบสนอง Native กับ Native
ฉันควรเรียนรู้ React Native หรือ Native หรือไม่ shift.infinite.red