我有问题构建一个应用程序,因为node-sass不断失败的错误。
binding /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node出错
Node Sass无法找到当前环境的绑定:OS X 64位的Node 0.10.x
我试过跑步
npm rebuild node-sass
说
二进制很好;退出。
当运行node -v时,我得到v6.2.2
这与sass错误说的“Node 0.10.x”不同。我不明白为什么它会得到错误的版本。我也尝试删除node_modules文件夹并运行npm update或npm install,这两者都没有解决问题。什么好主意吗?
在创建AspNetCore应用程序时,我在Visual Studio 2015 Community Edition中遇到了类似的错误:
Node Sass could not find a binding for your current environment: Windows 32-bit with Node.js 5.x
Found bindings for the following environments:
- Windows 64-bit with Node.js 6.x
This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to build the binding for your current environment.
at module.exports ([..]\node_modules\node-sass\lib\binding.js:15:13)
at Object.<anonymous> ([..]\node_modules\node-sass\lib\index.js:14:35)
at Module._compile (module.js:397:26)
at Object.Module._extensions..js (module.js:404:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> ([..]\node_modules\gulp-sass\index.js:187:21)
at Module._compile (module.js:397:26)
您可以从上面的错误中看到,原因是nodejs绑定的版本不匹配。
Node Sass无法找到当前环境的绑定:
Windows 32位,带有Node.js 5.x
为以下环境找到绑定:
—Windows 64位,Node.js 6.x
我找到的解决办法是
安装windows版本的nodejs,
在外部网络工具中添加节点js (C:\Program Files\nodejs)的路径(参见Rob Scott的回答)
将nodejs路径移到$(path)上方。
node-sass节点模块使用依赖于节点版本的达尔文二进制文件。没有下载二进制文件或下载了错误的二进制文件时,会出现此问题。
[![节点sass错误][1]][1].
重新安装节点模块将下载node-sass的二进制文件:-
Mac用户:
rm -rf node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force
Windows用户:
rmdir node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force
但是对于某些用户,您需要检查您的节点版本与node-sass版本的兼容性。使用下面的表使其兼容,并再次运行以上命令来修复此问题。
这是node-sass的节点兼容性表
NodeJS | Supported node-sass version | Node Module
Node 17 7.0+ 102
Node 16 6.0+ 93
Node 15 5.0+ 88
Node 14 4.14+ 83
Node 13 4.13+, <5.0 79
Node 12 4.12+ 72
Node 11 4.10+, <5.0 67
Node 10 4.9+, <6.0 64
Node 8 4.5.3+, <5.0 57
Node <8 <5.0 <57
如果问题仍未解决,请检查node-sass支持的环境列表:—https://github.com/sass/node-sass/releases/
检查你的系统:你的系统是否有两个不同的Node.js安装?
如果通过nodejs安装node,默认安装目录为
C:\Program Files\nodejs
我的节点版本是6。Xx安装在这里。
检查VS External web tools目录
C:\Program Files (x86)\Microsoft Visual Studio\2017\企业\Web\External
我的节点版本是5。Xx安装在那里。
一种解决方法是:
备份C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\External目录。
复制C:\Program Files\nodejs目录内容和
粘贴到
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\外部目录。
从解决方案中删除node_modules目录。
重新运行项目。
如果您得到错误消息,请重新运行项目第二次。
如果这样不行的话
从解决方案中删除node_modules目录。
注意:$是命令提示符
$ npm install
…
$ npm run build:dev
重新运行项目。