我想使用谷歌网络入门套件。我安装了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_modules文件夹,然后运行npm install,它工作了。

我有节点v5.5.0, npm 3.3.12

其他回答

如果你切换了节点版本,你可能还想NPM删除gulp-sass并重新安装gulp-sass。

这个答案和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都正常工作了。

我在gulp-sass版本为1.3.0时也有同样的问题,升级到2.1.0后修复了它。

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

对我来说,这个问题是由我的构建系统(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(与您所期望的不同)。