🚀 需要专家帮助?
被复杂问题卡住了?我们的专家团队随时提供帮助!获取个性化支持、code 审查,以及针对你具体需求量身定制的解决方案。
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
在使用 Capgo 时,你可能会遇到一些常见问题,以下是它们的解决方法。
🚀 需要专家帮助?
被复杂问题卡住了?我们的专家团队随时提供帮助!获取个性化支持、code 审查,以及针对你具体需求量身定制的解决方案。
如果 bundle upload 失败,请检查:
capacitor.config.ts 是否与 Capgo dashboard 中的 App 一致Capgo CLI 提供了一些额外的 flag,以帮助解决常见的 upload 问题:
--tus:使用 tus 可断点续传上传协议 以便在上传大型 bundle 或网络连接较差时更可靠。如果您的 bundle 超过 10MB 或网络不稳定,可以考虑使用 --tus:
npx @capgo/cli@latest bundle upload --tus--package-json 以及 --node-modules: 告知 Capgo 根目录的位置 package.json 以及 node_modules 如果您的应用使用了非标准结构(例如 monorepo 或 npm workspace),请将根目录路径传给 package.json 以及 --node_modules 路径:
npx @capgo/cli@latest bundle upload --package-json=path/to/package.json --node_modules=path/to/node_modulesCapgo 需要这些信息来正确打包应用的依赖项。
你可以根据需要将这些 flag 与其他选项结合使用,例如 --channel 如需了解详情,请参阅 Capgo CLI 文档 以获取可用 upload 选项的完整细节。
如果上传仍然遇到问题,请联系 Capgo 支持 以获取进一步帮助。
如果你在 live updates 方面遇到问题,Capgo debug 命令是排查故障的得力工具。使用方法如下:
在你的项目目录中运行以下命令:
npx @capgo/cli@latest app debug在真机或模拟器上启动应用,并执行触发更新的操作(例如:上传新 bundle 后重新打开应用)。
观察 debug 命令的输出。它会记录有关更新过程的信息,包括:
利用 debug logs 定位问题所在。例如:
CapacitorUpdater.notifyAppReady() 并且应用已完全关闭并重新打开。debug 命令对于排查更新下载和安装过程中的问题非常有用。如果日志显示已找到预期的更新版本但最终未应用,请重点排查下载之后的步骤。
除了 Capgo debug 命令外,Android、iOS 和 Electron 的 native logs 也能提供非常有价值的排查信息,特别是针对更新过程中原生层面的问题。
访问 Android logs 的步骤:
Capgo 查找 SDK 日志或者,你也可以使用 adb logcat 命令并使用 grep 查找 Capgo 来过滤日志。
Capgo SDK 会记录更新过程中的关键事件,例如:
你在日志中可能会看到的常见 Android 特定问题包括:
如何查看 iOS logs:
Capgo 以找到 SDK logs你也可以使用 log stream 在终端运行命令并使用 grep 查找 Capgo 以过滤日志。
与 Android 类似,Capgo SDK 会记录 iOS 端的关键事件:
你可能会在日志中发现的 iOS 特定问题包括:
对于 Electron 应用,请同时检查主进程和渲染进程的输出:
bun run electron:dev 或 bun run electron:serve),并留意终端输出中的启动信息、更新检查和网络错误。Console.app 并按应用名称过滤journalctl 用于您的应用进程在调试更新时,请对比主进程 (main-process) 和渲染进程 (renderer-process) 的日志信息,以便将 Electron 启动问题与 Capgo 更新生命周期问题区分开来。
在不同平台上,原生日志 (native logs) 都能提供更底层的更新过程视图,包含更多关于原生实现的细节。对于排查发生在 Capgo JavaScript 层之外的问题,原生日志尤其有用。
在排查棘手的 live update 问题时,建议同时获取 Capgo 调试日志和原生日志,以便全面了解当前状况。结合这两份日志将极大提升您定位并解决问题的概率。
如果你已经上传了 bundle,但设备上没有看到变化:
CapacitorUpdater.notifyAppReady() 如 code 所示,请参考 快速入门请参阅 部署 Live Updates 指南以了解更多更新流程详情。如果问题仍然存在,请使用 npx @capgo/cli@latest app debug 命令并查看原生日志,以获取更详细的运行状态。
如果你的 logs 显示如下后端错误: disable_auto_update_to_major, semver_error,或 cannot_update_via_private_channel请参考专用指南:
该指南解释了每个常见的 code 的含义、发生原因以及解决方法。
如果你在安装 Capgo SDK 时遇到问题,请确保:
如果无法从 CI/CD pipeline 触发 Capgo upload:
请参阅 CI/CD 集成 查看 docs 获取更多排查技巧。您还可以使用 npx @capgo/cli@latest app debug command 来确认应用是否已接收到由 CI/CD 触发的 updates。
如果你正在使用 故障排除 要规划存储和文件处理,请将其与 @capgo/capacitor-data-storage-sqlite 关于 @capgo/capacitor-data-storage-sqlite 中的实现细节, 使用 @capgo/capacitor-data-storage-sqlite 关于使用 @capgo/capacitor-data-storage-sqlite 的原生能力, @capgo/capacitor-file 关于 @capgo/capacitor-file 中的实现细节, 使用 @capgo/capacitor-file 用于“使用 @capgo/capacitor-file”中的原生能力,以及 @capgo/capacitor-uploader 了解 @capgo/capacitor-uploader. 的实现细节