kmpkg 的离线使用
本文详细介绍两种在无实时网络连接的环境中部署 kmpkg 的可靠方法。
方法 1:预构建并导出包
该方法使用 export 命令 在联网系统上创建完整的包捆绑包。此过程会将二进制文件、头文件及所有传递依赖项编译到独立的 SDK 捆绑包中,适用于离线部署。
快速入门请参考 导出教程——创建独立的 SDK 捆绑包。
优缺点
优点:
- 通过
export命令将所有必需组件打包为单个归档文件,无需额外依赖。 - 易于上手,操作简单。
- 可靠性极高,离线环境中无依赖缺失风险。
缺点:
- 必须在联网系统上执行更新和源代码开发。
- 库更新时需额外维护捆绑包,成本较高。
- 无法处理仅离线可用的私有库。
- 不适用于多个不同需求的使用者——每个使用者需单独的捆绑包。
方法 2:重定向外部资源访问
该策略通过结合 Git URL 重定向和资产缓存,实现对外部资源的受控访问,是无需完整离线捆绑包时的高效替代方案。
Git 重定向
Git 注册表和部分端口源通过 Git 协议获取,可能涉及离线环境外的资源。以下 Git 配置示例展示如何将标准仓库的请求重定向到内部镜像:
[url "https://internal/mirror/of/kmpkg"]
insteadOf = https://github.com/kumose/kmpkg
也可通过命令行应用此配置:
git config --global url."https://internal/mirror/of/kmpkg".insteadOf "https://github.com/kumose/kmpkg"
更多信息请参阅 Git 官方文档中的 使用 Git URL 重定向(insteadOf)。
资产缓存
资产缓存将下载的资源存储在本地或远程存储解决方案中,既能提升构建性能,又能增强网络安全性。详细配置说明请参考 资产缓存教程 和 资产缓存配置参考。
优缺点
优点:
- 重用缓存的资产加速构建,减少重复下载。
- 摆脱对持续网络连接的依赖,支持离线构建。
- 允许离线重建,便于修改工具链或编译标志。
- 适用于多个不同需求的使用者,支持不同库子集的灵活组合。
缺点:
- 初始配置步骤较多,需搭建内部镜像和缓存基础设施。
- 需长期维护内部镜像和缓存系统,确保资源同步。
总结
在隔离网络环境中部署 kmpkg 可选择以下两种方案:
- 预构建并导出完整的包捆绑包,适合简单场景和单一项目。
- 配置 Git 重定向与资产缓存,实现外部资源的受控访问,适合多项目、多用户的规模化场景。
请根据自身基础设施和部署需求选择合适的方法。