我有问题构建一个应用程序,因为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,这两者都没有解决问题。什么好主意吗?


当前回答

检查你的系统:你的系统是否有两个不同的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

重新运行项目。

其他回答

除了Abdelsalam Megahed的简短回答,其中包含了大部分解决方案……(也就是说,先看他的答案,然后做这件事)

在遵循Abdelsalam建议的四个简短步骤之后,我运行npm run dev并收到以下消息:

Failed to load C:\path\tsconfig.json: Missing baseUrl in compilerOptions

最后一步是编辑tsconfig。在"compilerOptions":下添加"baseURL": ".",像这样:

"compilerOptions": {
    "baseUrl": ".",
    etc etc etc

问题到这里就解决了。

注意:可能需要硬重置CtrlF5页面来查看更改(即使没有恶魔)。

在删除node_modules或清理缓存(这会花费时间)之前,尝试运行

NPM重建node-sass——force

在项目文件夹中。就像我的一样,你的问题得到解决的几率很高。如果不成功,试试下面的方法:

npm cache clean --force 
rm -rf node_modules 
npm install 
npm rebuild node-sass

npm start

运行以下命令,它对我来说工作得很好。

安装NPM node-sass

NPM重建node-sass

NVM使用10.16.3

node_modules node-sass /只/节点安装js。

Ng发球——投票=2000

在创建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)上方。

Windows 10 This was a fun one for me... In order to resolve it I had to do all of the following.. 1.) Apparently node-sass isn't supported by some of the more recent versions of Node.js so I had to Uninstall Node-v 12.14.1, and delete the nodejs directory in C:/Program Files. 2.) Reinstall a earlier version of Node (for me 10.16.2 worked). NOTE: I had initially downloaded the x86 version so if your System is x64 download the x64 verison... 3.) From here I had to delete my entire project and re-clone it. After this things ran fine.