用途
本技能用于将面向 Capacitor 6 的插件升级到 Capacitor 7,提供从 v6 到 v7 的迁移路径。当插件目标为 Capacitor 6 且需要迁移到 v7,或需要 v7 专属的原生与包更新时,可参考本技能。
主要能力
- 注入并查看插件与 Capacitor 包快照,确认当前 peerDependencies 范围。
- 将 peerDependencies 范围更新到 Capacitor 7。
- 在修改原生文件之前,要求先查阅 v6 到 v7 的迁移说明。
- 更新示例应用(如果存在)。
- 执行 npm install。
- 同步并验证示例或测试应用。
使用方式
技能首先从注入的快照开始,确认 package.json 中当前的 Capacitor peer 依赖范围,然后将其更新为 Capacitor 7。在编辑原生文件之前,需查阅 v6 到 v7 的迁移说明。接着更新示例应用(如存在),运行 npm install,最后同步并验证示例或测试应用。
技能内包含两个可在项目中执行的命令片段:
第一段用于输出插件与 Capacitor 包快照:
node -e "const fs=require('fs');if(!fs.existsSync('package.json'))process.exit(0);const pkg=JSON.parse(fs.readFileSync('package.json','utf8'));const out=['package.name='+(pkg.name||''),'package.version='+(pkg.version||'')];for(const section of ['peerDependencies','dependencies','devDependencies']){for(const [name,version] of Object.entries(pkg[section]||{})){if(name.startsWith('@capacitor/'))out.push(section+'.'+name+'='+version)}}console.log(out.join('\n'))"
第二段用于查找示例与原生项目路径:
find . -maxdepth 3 \( -path './example-app' -o -path './ios' -o -path './android' \)
适用场景
- 用户表示插件目标为 Capacitor 6,且必须迁移到 v7。
- 用户需要确切的 v6 到 v7 迁移路径。
- 用户需要 v7 专属的原生和包更新。
限制
- 本技能不适用于其他版本之间的迁移。
- 资料未提供具体的迁移步骤细节、原生文件修改清单或版本兼容性矩阵。
- 资料未提供收费、价格或平台支持等额外信息。
错误处理
- 如果示例应用损坏,应先修复插件 API 或原生桥接,再继续后续步骤。
- 如果 iOS 失败,检查 Capacitor 7 的部署目标。
- 如果 Android 失败,检查 Capacitor 7 的 Gradle 和 Java 要求。