支付宝支课堂小程序插件打包提示基础库未升级到2.0
结论
出现这个提示,通常不是插件订阅失败,而是当前小程序项目仍在使用支付宝小程序基础库 1.x,“支课堂”插件则要求宿主小程序使用基础库 2.0。打包工具检测到版本不兼容后,会阻止上传,并提示取消订阅。
将宿主项目升级到基础库 2.0 后,重新编译并上传即可。如果项目暂时无法升级,只能取消插件订阅,或联系插件提供方确认是否有兼容基础库 1.x 的版本。
原因说明
订阅插件后,插件会作为项目依赖参与构建和上传校验。如果插件使用了基础库 2.0 才支持的运行机制或接口,宿主项目也必须使用对应的基础库版本。
常见原因有:
- 项目创建较早,仍在使用基础库 1.x。
- 开发者工具已经更新,但项目没有启用基础库 2.0。
- 本地配置已经调整,上传时使用的却是旧构建产物。
- CI/CD、第三方构建平台或多端框架生成的支付宝项目仍按旧基础库打包。
- 插件订阅已经生效,但当前应用还没有完成基础库升级所需的配置或平台操作。
更新支付宝小程序开发者工具并不等于升级项目基础库。工具版本与项目使用的基础库是两项不同的设置。
解决步骤
1. 更新支付宝小程序开发者工具
先将支付宝小程序开发者工具升级到当前可用的稳定版本,再重新打开项目。旧版工具可能没有基础库 2.0 的相关选项,也可能无法正确识别项目配置。
2. 检查项目的基础库设置
打开开发者工具中的项目详情、项目配置或编译设置,确认项目是否已经启用基础库 2.0。不同版本的开发者工具可能使用不同的入口名称,请以实际界面为准。
部分项目通过 mini.project.json 中的配置启用新一代基础库。常见配置如下:
{
"enableAppxNg": true
}
如果文件中还有其他字段,应将新配置合并进去,不要覆盖整个文件。例如:
{
"miniprogramRoot": "./",
"enableAppxNg": true
}
当前开发者工具和项目类型是否支持 enableAppxNg,应以支付宝开放平台的最新说明及工具生成的配置为准。手动添加这个字段不代表升级已经完成,还要查看开发者工具中显示的实际基础库状态。
3. 检查插件声明
检查 app.json 中的插件声明,确认它与开放平台提供的插件信息一致。结构示例如下:
{
"plugins": {
"classroomPlugin": {
"version": "插件版本号",
"provider": "插件提供方标识"
}
}
}
version、provider 和插件别名都必须使用插件详情页或订阅成功后提供的真实值,不能直接复制示例内容。
如果插件声明由构建框架自动注入,还要检查生成后的支付宝小程序目录,不能只检查框架源码目录。
4. 清理缓存并重新构建
完成升级后,清理开发者工具缓存和旧构建产物,再进行一次完整编译。使用 uni-app、Taro 等框架时,还要重新生成支付宝小程序产物,以免继续上传旧目录。
上传前,请确认上传目录、应用 AppID 与订阅插件的应用完全一致,然后重新打包上传。
5. 仍然报错时核对平台状态
如果开发者工具已经显示基础库 2.0,上传时仍出现相同提示,可以检查以下项目:
- 当前登录账号是否拥有该小程序的开发权限。
- 上传所用的 AppID 是否为订阅插件的 AppID。
- 插件订阅是否已经生效,是否存在审核、授权或应用范围限制。
- CI/CD 环境是否仍在使用旧版开发者工具或旧构建配置。
- 当前插件版本是否明确要求基础库 2.0。
如果以上项目都没有异常,请携带 AppID、插件 serviceCode、开发者工具版本、上传时间和完整错误截图,向支付宝开放平台或插件服务方提交工单。
注意事项
- 不要为了通过上传而只删除
app.json中的插件声明。删除后可能不会再触发插件校验,但相关插件功能也将无法使用。 - 升级基础库可能影响自定义组件、生命周期、样式隔离和部分旧接口。正式上传前,应对主要页面、授权流程、支付流程及插件功能进行回归测试。
- “基础库 2.0”不是普通 npm 依赖的版本。升级 npm 包通常无法解决这个提示。
- 如果开发者工具中完全找不到基础库 2.0 选项,可能是工具版本过旧、项目类型不支持,或者应用还不具备相应的升级条件。不要自行猜测配置字段,应以开放平台控制台和官方工单答复为准。
- 宿主项目无法升级时,错误提示中的“取消订阅”是一种兼容性处理方案,并不表示插件本身已经损坏。
备注:内容仅供参考。
