我想使用谷歌网络入门套件。我安装了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,但这没有帮助。

接下来我该怎么办?


当前回答

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

NPM安装gulp-sass

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

其他回答

我也有同样的问题:

安装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

这个答案和OP有点正交,但是

在Node v4.0.0上,libsass绑定不能与Node -sass包装器一起正确安装。我得到了与问题中相同的错误消息(错误:'libsass'绑定未找到。尝试重新安装' Node -sass'),但我最终卸载了Node v4.0.0,并使用nvm安装了v0.12.7,通过以下脚本:

https://gist.github.com/brock/5b1b70590e1171c4ab54

现在libsass和node-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(与您所期望的不同)。

我发现这个命令很有用:

npm rebuild node-sass

从重建文档:

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

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

我删除了所有的/node_modules文件夹,然后运行npm install,它工作了。

我有节点v5.5.0, npm 3.3.12