我是鲁班
我是鲁班
  • 发布:2026-02-25 10:57
  • 更新:2026-02-25 11:23
  • 阅读:83

【报Bug】编译一直报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: Android

手机系统版本号: Android 13

手机厂商: OPPO

手机机型: k10

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

我新装的win系统,新下载的hbuilderx,编译app一直报错,node版本22,14都试过了,c++也安装了,python也安装了,报错酒没变过

预期结果:

求助,怎么能正常编译啊

实际结果:

我新装的win系统,新下载的hbuilderx,编译app一直报错,node版本22,14都试过了,c++也安装了,python也安装了,报错酒没变过

bug描述:

请注意运行模式下,因日志输出、sourcemap以及未压缩源码等原因,性能和包体积,均不及发行模式。
10:54:11.804 正在编译中...
10:54:47.610 Module build failed (from ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js):
10:54:47.610 Error: The module '\?\C:\Users\Administrator\win32-x64-83_binding.node'
10:54:47.610 was compiled against a different Node.js version using
10:54:47.610 NODE_MODULE_VERSION 83. This version of Node.js requires
10:54:47.610 NODE_MODULE_VERSION 108. Please try re-compiling or re-installing
10:54:47.610 the module (for instance, using npm rebuild or npm install).
10:54:47.610 at Module._extensions..node (node:internal/modules/cjs/loader:1460:18)
10:54:47.610 at Module.load (node:internal/modules/cjs/loader:1203:32)
10:54:47.610 at Module._load (node:internal/modules/cjs/loader:1019:12)
10:54:47.610 at Module.require (node:internal/modules/cjs/loader:1231:19)
10:54:47.610 at require (node:internal/modules/helpers:177:18)
10:54:47.610 at D:\IDE\hbuilderx\HBuilderX.4.87.2025121004\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\lib\binding.js:19:10
10:54:47.610 at Object.<anonymous> (D:\IDE\hbuilderx\HBuilderX.4.87.2025121004\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\lib\index.js:14:35)
10:54:47.610 at Module._compile (node:internal/modules/cjs/loader:1364:14)
10:54:47.610 at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
10:54:47.610 at Module.load (node:internal/modules/cjs/loader:1203:32)
10:54:47.611 at Module._load (node:internal/modules/cjs/loader:1019:12)
10:54:47.611 at Module.require (node:internal/modules/cjs/loader:1231:19)
10:54:47.611 at require (node:internal/modules/helpers:177:18)
10:54:47.611 at Object.<anonymous> (D:\IDE\hbuilderx\HBuilderX.4.87.2025121004\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\index.js:8:22)
10:54:47.611 at Module._compile (node:internal/modules/cjs/loader:1364:14)
10:54:47.611 at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
10:54:47.611 at Module.load (node:internal/modules/cjs/loader:1203:32)
10:54:47.611 at Module._load (node:internal/modules/cjs/loader:1019:12)
10:54:47.611 at Module.require (node:internal/modules/cjs/loader:1231:19)
10:54:47.611 at require (node:internal/modules/helpers:177:18)
10:54:47.611 at getDefaultSassImplementation (D:\IDE\hbuilderx\HBuilderX.4.87.2025121004\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getDefaultSassImplementation.js:29:10)
10:54:47.611 at getSassImplementation (D:\IDE\hbuilderx\HBuilderX.4.87.2025121004\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getSassImplementation.js:19:72)
10:54:47.611 at Object.loader (D:\IDE\hbuilderx\HBuilderX.4.87.2025121004\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\index.js:42:61)
10:54:49.711 项目 lf-work-app 编译成功。
10:54:49.922 已停止运行...

2026-02-25 10:57 负责人:DCloud_UNI_OttoJi 分享
已邀请:
Ask小助手

Ask小助手

需要补充蒸汽模式的相关信息。请指明平台分类:安卓、iOS、鸿蒙或小程序。问题描述不完整,请提供HBuilderX版本及更多上下文。
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方评审,对该 bug 反馈做如下评审:

  1. 反馈完整性评估
    • 标题与描述:已给出编译报错关键信息(node-sass 二进制版本不匹配)。
    • 复现步骤:仅描述“新装系统、新装 HBuilderX、换 Node 版本”,缺少可复现的最小项目、package.json 及 manifest.json 关键片段,官方无法直接复现。
    • 代码示例:未提供。
    • 分类信息:操作系统、HBuilderX 版本、Vue 版本、目标平台均已给出,基本完整。
    • 预期/实际结果:仅重复“一直报错”,未给出期望的编译通过截图或日志。

结论:信息尚不完整,需补充最小可复现工程及 manifest.json 中 sass 相关配置。

  1. bug 是否成立
    根据优先知识库:
    • 4.56/4.57 起,Vue2 项目默认改用 dart-sass;若仍需 node-sass,需在 manifest.json 根节点配置 "sassImplementationName": "node-sass"
    • 报错提示 NODE_MODULE_VERSION 83 vs 108 属于 node-sass 原生模块与本地 Node 版本不匹配的经典问题,通常通过切换 sass 实现或重编译 node-sass 解决。

因此该问题属于已知变更导致的兼容性配置问题,并非框架 bug。

  1. 基本概念问题
    用户在新环境下仍尝试使用 node-sass,但未按文档手动指定 "sassImplementationName": "node-sass",导致默认 dart-sass 与旧 node-sass 二进制冲突。

  2. 官方建议
    请按以下步骤处理:

  3. 在 manifest.json 根节点添加

    "sassImplementationName": "node-sass"  

    保存后重新运行。

  4. 若仍报错,删除项目及 HBuilderX 自带目录下的 node_modules、package-lock.json,再重新运行(HBuilderX 会自动重装依赖)。

  5. 如使用 CLI 项目,确保本地 Node 版本与 node-sass 支持列表匹配(Node 14/16 最佳),或使用 dart-sass 无需 node-sass。

若仍有问题,请提供最小可复现工程及完整 package.json,以便进一步定位。

内容为 AI 生成,仅供参考
我是鲁班

我是鲁班 (作者) - 啦啦啦啦

项目本身就配置了"sassImplementationName": "node-sass",删除重装也没用

  • [已删除]

    小助手的回答没啥问题,看报错来自 Node-sass 他对 node 高版本有兼容性问题,不要继续使用 node-sass 了,参考这篇文章处理

    2026-02-25 15:32

  • [已删除]

    https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html#sass%E9%A2%84%E5%A4%84%E7%90%86%E5%99%A8

    2026-02-26 17:52

  • 我是鲁班 (作者)

    回复 [已删除]: 我改代码解决了,只是很奇怪, 我之前的电脑就这个项目就能正常运行,换了新电脑就不行了

    2026-03-02 17:57

要回复问题请先登录注册