Skip to main content

Ripristino e cache della libreria

Dopo la risoluzione, il Libraries.lock.json Il file di blocco conterrà il grafico completo delle dipendenze con le versioni esatte. Prima che le librerie vengano caricate dal compilatore, devono essere presenti nel file system del progetto. La cache delle librerie si occupa di questo. Se una libreria non è presente nella cache, verrà ripristinata dai suoi sorgenti. Solo a quel punto il progetto potrà essere compilato completamente.

Cache della libreria

La cache della libreria si trova nella directory principale del progetto e si chiama .library-cache La directory principale è la cartella <project name>.fbsdev O <project name>.fbslib Le librerie vengono memorizzate nella cache come librerie compilate. Il percorso nella cache segue una convenzione fissa.

.library-cache/Company/Title/Version/Title.compiled-library

Gli spazi iniziali e finali dei componenti vengono rimossi. I caratteri non consentiti nei nomi dei file vengono sostituiti tramite codifica del modello a oggetti. Il formato su disco è lo stesso di un repository di librerie. Una libreria che punta a un progetto di libreria sorgente tramite un percorso relativo non si trova nella cache. Verrà invece caricata nell'area di lavoro come progetto modificabile.

Ripristino delle librerie mancanti

Durante il ripristino, le librerie mancanti vengono memorizzate nella cache delle librerie. Una libreria è considerata mancante quando è elencata nella Libraries.lock.json Il file è presente, ma non esiste nella cache al percorso specificato. Le librerie esistenti rimarranno invariate. Le librerie provengono dalle origini configurate. Ciò include i repository delle librerie e un server di distribuzione.

È possibile utilizzare il Ripristina le librerie mancanti comando per avviare manualmente il processo di ripristino. Dovrai eseguire un ripristino manuale principalmente se il file di blocco è già completo, ma mancano le librerie nella cache. Questo problema si verifica spesso dopo il checkout da un sistema di controllo della versione: il progetto contiene il Libraries.lock.json file, ma il .library-cache Di solito anche la cartella non viene registrata. Un ripristino recupererà lo stato esatto della libreria definito nel file di blocco. Non sarà necessario eseguire nuovamente la risoluzione.

Suggerimento

Quando si avvia manualmente la risoluzione di una libreria, le librerie vengono ripristinate automaticamente. In questo caso non è necessario un ripristino separato.