uni-app 版本更新后无法编译app

uni-app 版本更新后无法编译app

示例代码:

无代码示例,运行直接报错

操作步骤:

使用CLI开发, Vue3+Vite+TypeScript, 按照升级提示将所有依赖包升级之后就报错无法编译

预期结果:

升级前一切正常,升级后就报错无法编译

实际结果:

升级前一切正常,升级后就报错无法编译

bug描述:

[plugin:commonjs–resolver] node_modules/.pnpm/@dcloudio+uni-cloud@3.0.0-4010420240430001_postcss@8.4.35_rollup@4.17.2_vue@3.4.26_typescript@4.9.5/node_modules/@dcloudio/uni-cloud/dist/uni-cloud.es.js (251:36): Identifier “h” has already been declared

at …/node_modules/.pnpm/@dcloudio+uni-cloud@3.0.0-4010420240430001_postcss@8.4.35_rollup@4.17.2_vue@3.4.26_typescript@4.9.5/node_modules/@dcloudio/uni-cloud/dist/uni-cloud.es.js:251:36


更多关于uni-app 版本更新后无法编译app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

13 回复

可以提供一个测试项目吗?我这新建项目没能复现

更多关于uni-app 版本更新后无法编译app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


好的,刚才在新建测项目发现了问题,只要开启uni统计就会报上边的错误,关闭了就没事,测试项目见下边评论的附件

你是升级到4.14遇到的这个问题吗?期间升级过unplugin-auto-import/vite这个包吗?

对的,升级4.14才会有这个问题,感觉跟unplugin-auto-import/vite 这个没关系,我是开启了uni统计就会报这个错误导致不能编译,把uni统计关了就没事了

回复 窄门餐眼: 确实是这个插件的Bug,不过可以临时绕过这个bug,找到报错的那个uni-cloud.es.js文件,搜索一下const c=“FUNCTION”,u=“OBJECT”,h=“CLIENT_DB”,l=“pending”,d=“fulfilled”,p=“rejected”;,改成const c=“FUNCTION”,u=“OBJECT”; const h=“CLIENT_DB”,l=“pending”,d=“fulfilled”,p=“rejected”;

回复 窄门餐眼: 如果你没有用到自动从vue里面导入h的话,也可以用配置这个插件自动导入忽略h

好的,感谢,这个下个版本会修复么?

回复 窄门餐眼: 这个不是我们的Bug,需要反馈给unplugin-auto-import。测试项目见下方回复

unplugin-auto-import 测试项目

我也遇到这个问题了,cli模式下运行到小程序跟app都会报错,直接无法运行(搜了下相关问题,会不会是因为unplugin-auto-import/vite,但是我没定位原因 )

测试项目

uni-app 版本更新后遇到无法编译 App 的问题,可能是由于以下原因导致的。以下是一些常见的排查步骤和解决方法:


1. 检查依赖版本兼容性

  • 问题uni-app 更新后,可能依赖的插件或 SDK 版本不兼容。
  • 解决方法
    • 更新项目中所有依赖到最新版本:
      npm install
      npm update
      
    • 如果问题仍然存在,尝试回退 uni-app 版本:
      npm install @dcloudio/uni-app@<version>
      
      例如:
      npm install @dcloudio/uni-app@3.4.0
      

2. 清理缓存并重新编译

  • 问题:缓存文件可能导致编译失败。
  • 解决方法
    • 删除 node_modulespackage-lock.json 文件:
      rm -rf node_modules package-lock.json
      
    • 重新安装依赖:
      npm install
      
    • 清理 HBuilderX 缓存:
      • 在 HBuilderX 中,点击菜单栏的 项目 -> 清理项目缓存
    • 重新编译项目。

3. 检查 HBuilderX 版本

  • 问题:HBuilderX 版本与 uni-app 版本不兼容。
  • 解决方法
    • 更新 HBuilderX 到最新版本:
      • 打开 HBuilderX,点击菜单栏的 帮助 -> 检查更新
    • 如果更新后问题仍然存在,尝试回退 HBuilderX 到稳定版本。

4. 检查配置文件

  • 问题manifest.jsonpages.json 配置错误。
  • 解决方法
    • 检查 manifest.jsonpages.json 文件,确保配置正确。
    • 如果有新增或修改的配置项,参考官方文档进行核对。

5. 检查插件兼容性

  • 问题:某些第三方插件可能不兼容新版本。
  • 解决方法
    • 检查项目中使用的插件(如 uni-uiuView 等),确保它们支持当前 uni-app 版本。
    • 如果不兼容,尝试更新插件或寻找替代方案。

6. 查看错误日志

  • 问题:编译失败时,错误日志可能提供具体原因。
  • 解决方法
    • 在 HBuilderX 中查看控制台输出,找到具体的错误信息。
    • 如果错误信息不明确,尝试在命令行中运行编译命令,获取更详细的日志:
      npm run build:app
      

7. 检查原生插件配置

  • 问题:如果项目中使用了原生插件,可能配置错误或路径不正确。
  • 解决方法
    • 检查 nativeplugins 目录下的插件配置。
    • 确保插件的路径和版本正确。

8. 重新生成项目

  • 问题:项目文件可能在更新过程中损坏。
  • 解决方法
    • 备份项目代码和配置文件。
    • 删除 unpackagenode_modules 目录。
    • 重新生成项目:
      npm install
      npm run build:app
回到顶部