Ein wichtiger Punkt, der in den anderen Antworten fehlt:
Wenn Sie einen Paketmanager verwenden, müssen Sie eine Konfiguration haben, die angibt, welche Bibliotheksversionen Sie verwenden, und die sicherstellt, dass die Konfigurationsinformationen tatsächlich korrekt sind.
Es ist sehr wichtig zu wissen, welche Bibliotheken Sie verwenden und welche Version Sie verwenden, wenn Sie:
- muss eine Bibliothek aufgrund eines kritischen Fehlers / einer Sicherheitslücke aktualisieren;
- oder Sie müssen nur überprüfen, ob eine gemeldete Sicherheitslücke Sie betrifft.
Wenn Sie tatsächlich aktualisieren, stellt der Paketmanager (normalerweise) sicher, dass alle transitiven Abhängigkeiten nach Bedarf aktualisiert werden.
Während bei einem lib
Ordner nur eine Reihe von (möglicherweise binären und möglicherweise geänderten) Dateien vorhanden sind, müssen Sie erraten, woher sie stammen und welche Version sie haben (oder einer README-Datei vertrauen, die möglicherweise korrekt ist oder nicht ).
Um Ihre anderen Punkte anzusprechen:
Kein externes Tool zum Verwalten von Paketen erforderlich.
Richtig, aber a) als Softwareentwickler müssen Sie ohnehin jede Menge Tools installieren, damit eine weitere Rolle keine Rolle spielt, und b) normalerweise gibt es nur einen oder mehrere Paketmanager in einem bestimmten Bereich (Maven / Gradle für Java, npm für JS / TypeScript usw.), daher müssen Sie nicht Dutzende davon installieren.
Zum Aufbau ist keine Internetverbindung erforderlich.
Alle Paketmanager, die ich kenne, arbeiten offline, sobald sie die erforderlichen Abhängigkeiten heruntergeladen haben (was direkt nach dem Herunterladen des Projekts geschehen kann).
Schnellere Erstellung (keine Paketprüfung).
Wahrscheinlich wahr, aber es scheint unwahrscheinlich, dass die Offline-Paketprüfung viel Zeit in Anspruch nimmt (es werden nur einige Versionsnummern verglichen). Eine Online- Prüfung kann eine Weile dauern, kann aber auf Wunsch deaktiviert werden (wenn sie sogar standardmäßig aktiviert ist - Maven sucht beispielsweise nie nach Updates für Release-Versionen).
Einfachere Umgebungen (weniger Kenntnisse erforderlich).
Richtig, aber wie oben erläutert, lib
erfordert ein Ordner auch Kenntnisse. Wie oben erklärt, werden Sie wahrscheinlich nur mit einer Handvoll verschiedener Paketmanager arbeiten, die Sie bereits kennen.