uniapp项目启动报错 binding.node is not a valid Win32 application 终极解决方案

出现问题的前提条件:
阅读 uniapp 官网的教程,快速上手阶段使用 hbuildx 进行项目搭建时,无法成功启动 uniapp 项目。

这个问题在网上有很多解答,但是大部分都说的很不清楚。

在网上随便找了点代码复现错误:

[编译scss/sass] 15:48:25.231 Error: \\?\G:\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\vendor\win32-x64-64\binding.node is not a valid Win32 application.
[编译scss/sass] 15:48:25.231 \\?\G:\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\vendor\win32-x64-64\binding.node

仔细观察可以发现 其实两次出现的这个路径都是同一个,我们直接去定位这个地方,会发现是这样的:

一个名为 win32 x64 -**(后续的数字可能时72也可能是64) 的文件夹下有一个binding.node 文件。

网上有一些教程给出的处理方法是:
使用该指令:

node -p "[process.platform, process.arch, process.versions.modules].join('-')"

进行 binding.node 版本查看然后再进行文件的版本替换。

注意!! 使用这个指令去查看的 binding.node 是全局的版本,它不一定是 uniapp 所需要的版本!!如果你把这个直接覆盖掉是会影响其他项目的,因为它是全局 binding ,不是我们 uniapp 的。

根据这个指令的版本号去下载 github 上的 binding 是会报错的!

那到底要去下载什么版本的binding呢?

正确的解决方案:

github 上下载对应的文件夹名称版本的 binding.node 并覆盖掉该文件夹下的 binding.node 即可。
这个处理方法是正确的。

如:我目前是 win32 x64 -72 文件夹下的 binding 文件报错,那么我要去 github 上下载 win32 x64 -72 版本的 binding.node 文件进行覆盖。

这样覆盖之后,uniapp就可以成功启动了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值