ทำความสะอาดสภาพแวดล้อม 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