我想使用谷歌网络入门套件。我安装了node.js v0.12.0, node-sass & gulp。

然后跑着说:

$ sudo npm install

当我输入gulp serve时,得到了这个错误:

Using gulpfile ~/web-starter-kit/gulpfile.js Starting 'styles'... 'styles' errored after 93 ms 
Error: `libsass` bindings not found. Try reinstalling `node-sass`? at getBinding

我重新安装了node和gulp,但这没有帮助。

接下来我该怎么办?


当前回答

我也有同样的问题:

安装node-sass 在安装结束时被告知安装已成功完成 然后被要求重新安装node-sass。

解决方案是安装支持当前版本node的node-sass版本2。见https://github.com/sass/node-sass/issues/490 # issuecomment - 70388754

Run:

npm install node-sass@2

然后重新测试:

$ npm ls node-sass
myapp@0.0.0 /var/www/myapp
└── node-sass@2.0.1

$ gulp sass
[09:48:42] Using gulpfile /var/www/myapp/gulpfile.js
[09:48:42] Starting 'sass'...
[09:48:42] Finished 'sass' after 15 ms

其他回答

我发现这个命令很有用:

npm rebuild node-sass

从重建文档:

这在安装新版本的节点(或交换节点)时非常有用 并且必须使用新的node.js重新编译所有的c++插件 二进制文件。

http://laravel.io/forum/10-29-2014-laravel-elixir-sass-error

如果你来这里是因为你在系统范围内升级了nodejs,突然你的emberjs ^1.13应用程序失败了,请确保你没有使用过时版本的ember-cli-sass。你需要在Ember应用程序中rm -rf node_modules bower_components dist tmp,然后更新你的包。Json和适当的ember-cli-sass版本,最后NPM install——save-dev。这为我修复了它,而不必重新构建或更改任何其他依赖项。

我在使用节点0.12.0时遇到了这个错误,通过删除现有的/node_modules目录并运行npm update来修复。

如果你使用Gulp,那么试试:

NPM安装gulp-sass

我也遇到过同样的问题,问题就出在"大口吐槽"上。

对我来说,这个问题是由我的构建系统(Travis CI)在我的. Travis中做了一些愚蠢的事情引起的。yml文件。实际上,我在nvm使用0.12之前调用npm install,这导致node-sass为0.10而不是0.12构建。我的解决方案是简单地将nvm的使用移出.travis。Yml文件的before_script部分到NPM install命令之前,这是在before_install部分。

在您的情况下,无论您使用gulp启动哪个进程,都可能使用不同版本的node(与您所期望的不同)。