uniapp项目启动报错 binding.node is not a valid Win32 application 终极解决方案
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就可以成功启动了。
更多推荐
已为社区贡献5条内容
所有评论(0)