Важливий момент, який не вистачає в інших відповідях:
Використовувати менеджер пакунків означає наявність конфігурації, яка вказує, які версії бібліотеки ви використовуєте, і гарантує, що інформація конфігурації насправді правильна.
Знаючи, які бібліотеки ви використовуєте та яку версію, дуже важливо, якщо ви:
- необхідність оновлення бібліотеки через критичну помилку / безпеку;
- або просто потрібно перевірити, чи впливає на вас оголошена безпека.
Крім того, коли ви фактично робите оновлення, менеджер пакунків (як правило) гарантує, що будь-які перехідні залежності оновлюються у міру необхідності.
У той час як з lib
папкою, ви просто купа (можливо бінарних, і , можливо , модифікованими) файлів, і ви повинні вгадати , звідки вони прийшли і скільки разів вони (або довіряти деякі README, які можуть або не можуть бути правильними ).
Щоб вирішити інші питання:
Немає потреби в зовнішньому інструменті для управління пакетами.
Правда, але а) як розробник програмного забезпечення вам все-таки потрібно встановити набір інструментів, тому один більше, як правило, не має значення; б) зазвичай в одному полі є лише один або кілька менеджерів пакетів (Maven / Gradle для Java, npm для JS / TypeScript тощо), тому не так, як вам потрібно встановити десятки.
Не потрібно з'єднання з Інтернетом будувати.
Усі менеджери пакунків, яких я знаю, працюють в режимі офлайн, після завантаження необхідних залежностей (що може статися відразу після завантаження самого проекту).
Швидше складання (відсутність перевірки пакета).
Можливо, це правда, але здається, що перевірка пакету в автономному режимі навряд чи займе значну кількість часу (це лише порівняння деяких номерів версій). Онлайн перевірка може зайняти деякий час, але це може бути відключений , якщо необхідно (якщо це навіть за замовчуванням - Maven, наприклад , ніколи не перевіряє наявність оновлень для версій випуску).
Простіші середовища (менше знань потрібно).
Щоправда, але, як пояснено вище, lib
папка також вимагає знань. Крім того, як пояснено вище, ви, ймовірно, працюєте лише з кількома менеджерами різних пакетів, про які ви вже будете знати.