我有问题构建一个应用程序,因为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 v7.4.0 Current(最新功能)中遇到了同样的问题。

在这里阅读了一些内容,并将Node降级为v6.9.4 LTS,在运行npm rebuild Node -sass后,它下载了二进制文件,一切都开始工作了。

从https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-48_binding.node下载二进制文件 下载完成。 二进制文件保存到D:\xxx\xxx-xxx\node_modules\node-sass\vendor\win32-x64-48\binding.node 将二进制文件缓存到C:\Users\user\AppData\Roaming\npm-cache\node-sass\3.13.1\win32-x64-48_binding.node

其他回答

只需刷新你的npm缓存:

npm cache clean --force  
npm install

在同样的情况下,它总是适用于我。

UPD:您的问题也可能是由于缺少全局sasslib。

npm install -g sass

对我有用:

只需删除node-sass文件夹并运行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)上方。

我也有同样的问题。我在这里找不到任何合适的解决方案,所以我找到了自己的:

受到@ robb - scott解决方案和其他建议的启发,我们可以安装两个版本的Node.js,我去了C:\Program Files (x86)\nodejs,发现除了VS默认安装之外,我还安装了一个Node.js版本。

我的解决办法很简单:

进入工具>选项>项目和解决方案> Web包管理>外部Web工具 单击添加一个条目(右上角按钮块的最左边) 输入C:\Program Files (x86)\ nodejs,按Enter确认 把它放在清单的最上面 享受

可能Node.js在PATH变量中没有设置好,但这是我的工作非常快速的解决方案,我的2美分:)

试着加上后缀——force

npm rebuild node-sass --force