今天运行一个以前vue项目,启动时报错如下:
ERROR Failed to compile with 1 error上午10:19:33
error in ./src/App.vue?vue&type=style&index=0&lang=scss&
Syntax Error: Error: Missing binding D:\javacode\Springboot-MiMall-RSA\VueFront\node_modules\_node-sass@4.14.1@nod e-sass\vendor\win32-x64-83\binding.node
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 14.xFound bindings for the following environments:
- Windows 64-bit with Node.js 12.xThis usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to download the binding for your current environment.
大致意思是:因为我把node 12升级成了14, Node Sass库的兼容性出问题了。
我当时没多想,就把node_modules目录删除了,重新运行npm install,结果报错:
No module named gyp
网上查了一些资料说解决办法如下:
1. 指定python2.7路径:npm config set python python2.7
2. 运行:npm install –no-optional
以上参考:https://spin.atomicobject.com/2019/03/27/node-gyp-windows/
但是两个方法都试过了,全部无效。
后来在一篇文章:node-sass,sass-loader,node-gyp,node报错,版本对应问题
找到解决办法: 原来node版本跟node-sass有对应关系:
我之前的node-sass版本是4.12.0,把它修改成4.14.1 ,然后重新npm install就解决问题了
此时我突然想起我启动时第一次的报错:
RSA\VueFront\node_modules\_node-sass@4.14.1@nod e-sass\vendor\win32-x64-83\binding.node
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 14.xFound bindings for the following environments:
- Windows 64-bit with Node.js 12.xThis usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to download the binding for your current environment.
上面的提示其实写清楚了需要node-sass@4.14.1来匹配Node.js 14.x,建议修复命令:npm rebuild node-sass来修复。
我在想如果一开始我就运行:npm rebuild node-sass 这跟命令,也许问题就解决了