จุดสำคัญที่หายไปจากคำตอบอื่น ๆ :
การใช้ตัวจัดการแพคเกจหมายถึงการมีการกำหนดค่าที่ระบุว่าคุณกำลังใช้เวอร์ชันไลบรารี่ใดและตรวจสอบให้แน่ใจว่าข้อมูลการกำหนดค่านั้นถูกต้องจริง
การรู้จักไลบรารีที่คุณใช้และเวอร์ชันใดเป็นสิ่งสำคัญหากคุณ:
- จำเป็นต้องอัปเดตห้องสมุดเนื่องจากช่องโหว่ที่สำคัญ / การรักษาความปลอดภัย
- หรือเพียงแค่ต้องตรวจสอบว่าช่องโหว่ด้านความปลอดภัยที่ประกาศนั้นส่งผลต่อคุณ
นอกจากนี้เมื่อคุณทำการอัปเดตจริง ๆ ตัวจัดการแพคเกจ (ปกติ) ทำให้แน่ใจว่าการอ้างอิงสกรรมกริยาใด ๆ ได้รับการปรับปรุงตามที่จำเป็น
ในขณะที่มีlib
โฟลเดอร์คุณมีไฟล์ (อาจเป็นเลขฐานสองและอาจแก้ไขได้) และคุณต้องเดาว่ามันมาจากไหนและเป็นเวอร์ชั่นใด (หรือเชื่อใจว่า README บางอันซึ่งอาจจะใช่หรือไม่ถูกต้อง )
ในการพูดถึงประเด็นอื่น ๆ ของคุณ:
ไม่ต้องใช้เครื่องมือภายนอกในการจัดการแพ็คเกจ
จริง แต่ก) ในฐานะนักพัฒนาซอฟต์แวร์ที่คุณต้องติดตั้งเครื่องมือมากมายดังนั้นอีกหนึ่งไม่สำคัญและ b) โดยทั่วไปจะมีเพียงหนึ่งหรือไม่กี่ตัวจัดการแพคเกจในสาขาที่กำหนด (Maven / Gradle สำหรับ Java npm สำหรับ JS / TypeScript ฯลฯ ) ดังนั้นจึงไม่เหมือนที่คุณต้องการติดตั้งหลายสิบรายการ
ไม่จำเป็นต้องสร้างการเชื่อมต่ออินเทอร์เน็ต
ผู้จัดการแพ็คเกจทั้งหมดที่ฉันรู้จักทำงานแบบออฟไลน์เมื่อพวกเขาดาวน์โหลดการอ้างอิงที่ต้องการ (ซึ่งสามารถเกิดขึ้นได้ทันทีหลังจากดาวน์โหลดโครงการเอง)
สร้างได้เร็วขึ้น (ไม่มีการตรวจสอบแพ็คเกจ)
อาจเป็นจริง แต่ดูเหมือนว่าไม่น่าเป็นไปได้ที่การตรวจสอบแพ็กเกจออฟไลน์จะใช้เวลานานพอสมควร (เป็นเพียงการเปรียบเทียบตัวเลขบางเวอร์ชัน) การตรวจสอบแบบออนไลน์อาจใช้เวลาสักครู่ แต่สามารถปิดได้หากต้องการ (หากเป็นค่าเริ่มต้นแม้ - Maven จะไม่ตรวจสอบการอัปเดตสำหรับรุ่นที่วางจำหน่าย)
สภาพแวดล้อมที่เรียบง่าย (ต้องการความรู้น้อยกว่า)
จริง แต่ตามที่อธิบายไว้ข้างต้นlib
โฟลเดอร์ต้องใช้ความรู้ด้วย นอกจากนี้ตามที่อธิบายไว้ข้างต้นคุณอาจทำงานกับผู้จัดการแพคเกจที่แตกต่างกันเพียงเล็กน้อยเท่านั้นซึ่งคุณจะรู้แล้ว