恢复和库缓存
决议通过后,Libraries.lock.json锁定文件将包含完整的依赖关系图及其确切版本。在编译器加载库之前,这些库必须存在于项目的文件系统中。库缓存负责确保这一点。如果缓存中缺少某个库,则会从其源代码中恢复。只有这样,项目才能被完整编译。
库缓存
库缓存位于项目的根目录中,名称为.library-cache根目录是该文件夹<project name>.fbsdev或者<project name>.fbslib库文件以编译后的形式存储在缓存中。缓存中的路径遵循固定的规则。
.library-cache/Company/Title/Version/Title.compiled-library
组件的前导和尾随空格将被移除。文件名中不允许出现的字符将通过对象模型编码进行替换。磁盘上的文件格式与库仓库中的格式相同。指向源库项目的相对路径的库不会存储在缓存中,而是会作为可编辑项目加载到工作区中。
恢复缺失的库
恢复时,缺失的库会存储在库缓存中。当一个库不在库缓存列表中时,它就被视为缺失。Libraries.lock.json文件存在,但指定路径的缓存中不存在该文件。现有库将保持不变。这些库源自已配置的库源,包括库仓库和部署服务器。
你可以使用恢复缺失的库手动执行恢复过程的命令。您主要需要在锁定文件已完整但缓存中的库文件缺失的情况下执行手动恢复。此问题通常发生在从版本控制系统检出后:项目包含Libraries.lock.json文件,但是.library-cache文件夹通常也不会被签入。恢复操作会获取锁定文件中定义的确切库状态。您无需再次运行恢复操作。
提示
手动启动库解析时,库将自动恢复。这种情况下无需单独恢复。