Wiederherstellen und Bibliotheks-Cache
Nach der Auflösung steht in der Lock-Datei Libraries.lock.json der vollständige Abhängigkeitsgraph mit exakten Versionen. Bevor die Bibliotheken vom Compiler geladen werden, müssen sie im Dateisystem des Projekts vorliegen. Dafür ist der Bibliotheks-Cache zuständig. Wenn eine Bibliothek im Cache fehlt, wird sie aus ihren Quellen wiederhergestellt. Erst danach ist das Projekt vollständig kompilierbar.
Der Bibliotheks-Cache
Der Bibliotheks-Cache liegt im Wurzelverzeichnis des Projekts und trägt den Namen .library-cache. Das Wurzelverzeichnis ist der Ordner <project name>.fbsdev oder <project name>.fbslib. Im Cache werden die Bibliotheken als kompilierte Bibliotheken abgelegt. Der Pfad im Cache folgt einem festen Schema.
.library-cache/Company/Title/Version/Title.compiled-library
Führende und abschließende Leerzeichen der Bestandteile werden entfernt. Zeichen, die in Dateinamen nicht erlaubt sind, werden über die Objektmodellcodierung ersetzt. Das On-Disk-Format ist dasselbe wie in einem Bibliotheksrepository. Eine Bibliothek, die über einen relativen Pfad auf ein Quellbibliotheksprojekt zeigt, liegt nicht im Cache. Sie wird stattdessen als editierbares Projekt in den Workspace geladen.
Fehlende Bibliotheken wiederherstellen
Beim Wiederherstellen werden die fehlenden Bibliotheken im Bibliotheks-Cache abgelegt. Fehlend ist eine Bibliothek, die in der Libraries.lock.json steht, aber am angegebenen Pfad im Cache nicht vorliegt. Vorhandene Bibliotheken bleiben unverändert. Die Bibliotheken stammen aus den konfigurierten Bibliotheksquellen. Dazu zählen die Bibliotheksrepositorys und ein Deploymentserver.
Eigenständig stoßen Sie das Wiederherstellen mit dem Befehl Fehlende Bibliotheken wiederherstellen an. Ein eigenständiges Wiederherstellen brauchen Sie vor allem dann, wenn die Lock-Datei bereits vollständig ist, die Bibliotheken im Cache aber fehlen. Dieser Fall tritt häufig nach dem Auschecken aus der Versionsverwaltung auf: Das Projekt enthält die Libraries.lock.json, der Ordner .library-cache wird jedoch meist nicht mit eingecheckt. Mit dem Wiederherstellen bringen Sie genau den Bibliotheksstand zurück, der in der Lock-Datei festgelegt ist. Die Auflösung führen Sie dafür nicht erneut aus.
Tipp
Wenn Sie eine Bibliotheksauflösung manuell starten, wird das Wiederherstellen der Bibliotheken automatisch ausgeführt. Eine separate Wiederherstellung ist in diesem Fall nicht erforderlich.