跳转到正文

@capgo/capacitor-patch

在同步和更新钩子期间,将经过验证的修复应用到 Capacitor 核心包、CLI、插件和原生项目。

@capgo/capacitor-patch 是一个仅限 hook 的 Capacitor 包,会在 Capacitor 运行时应用选定的 patch 文件 sync 或 update.

它专为在官方 Capacitor 版本发布前即可生效的修复而设计。内置目录会追踪由 Capacitor+ 分支镜像的外部上游 Capacitor PR。 sync/upstream-pr-* 分支。

平台支持备注
iOSHookcap sync patches
AndroidHookcap sync patches
Web 端不适用仅 CLI

Capacitor 包

修订版本 (Patch) @capacitor/core, @capacitor/android, @capacitor/ios以及第三方 Capacitor 插件 node_modules.

Capacitor CLI

Patch 会推送 CLI JavaScript 文件。当应用 CLI patch 后,下次 cap 命令将使用已修复的 code。

Native 项目

在...之后应用生成的 Android 或 iOS 项目 patch cap sync 或 cap update.

安全选择

版本范围、幂等性检查和严格模式可防止过时的 patch 被静默应用。

Patches 默认不启用。列出随附的目录,选择应用所需的 patch ID,并将它们添加到 plugins.CapacitorPatch.patches.

每个目录条目包含:

  • 稳定的 patch ID
  • 目标 package 或 native 项目阶段
  • 支持的版本范围
  • 上游 Capacitor PR
  • 对应的 Capacitor+ 同步分支
  • 随 package 提供的 patch 文件

使用 @capgo/capacitor-patch 何时使用:

  • 上游已存在 Capacitor 修复方案,但尚未发布
  • 无需维护本地 patch 脚本即可让应用获得修复
  • 希望在每次 Capacitor 同步/更新后自动重新应用 patch
  • 需要一份团队可读的清单,记录应用所依赖的修复方案

查看完整清单与贡献指南,请参阅 capacitor-patch 仓库.

如果你正在使用 @capgo/capacitor-patch 要规划原生插件工作,请将其与 使用 @capgo/capacitor-patch 针对使用 @capgo/capacitor-patch 时的原生能力, Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 查看由 Capgo 提供的 Capacitor 插件中的实现细节, 添加或更新插件 关于“添加或更新插件”中的实现细节,以及 Ionic Enterprise 插件替代方案 关于“Ionic Enterprise 插件替代方案”中的产品工作流。