跳到主要内容

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 重定向与资产缓存,实现外部资源的受控访问,适合多项目、多用户的规模化场景。

请根据自身基础设施和部署需求选择合适的方法。

附加资源

  1. export 命令
  2. 资产缓存配置参考
  3. 使用 Git URL 重定向(insteadOf)