尝试在节点0.12上重新安装`node-sass`?

时间:2015-02-09 11:50:17

标签: node.js sass gulp

我想使用google web starter kit。我安装了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

我重新安装了节点和gulp,但这没有用。

接下来我该怎么做?

16 个答案:

答案 0 :(得分:385)

如果你的节点版本是4并且你正在使用gulp-sass,那么试试

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass@2

答案 1 :(得分:339)

我找到了这个有用的命令:

npm rebuild node-sass

来自rebuild documentation

  

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

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

答案 2 :(得分:233)

我使用节点0.12.0遇到了此错误,并通过删除现有的/node_modules目录并运行npm update来解决此错误。

答案 3 :(得分:82)

npm rebuild node-sass给了我错误(Ubuntu),npm install gulp-sass没有让错误消失。

在GitHub上找到了一个对我有用的解决方案:

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass

答案 4 :(得分:22)

我有同样的问题:

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

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

执行命令

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

答案 5 :(得分:19)

如果您使用Gulp,请尝试:

npm install gulp-sass

我遇到了同样的问题,gulp-sass包问题就出现了。

答案 6 :(得分:10)

我今天在工作中遇到了同样的问题。

npm rebuild node-sass

为我完成了这份工作

答案 7 :(得分:9)

将节点降级到0.10.36应该在node-sass github页面上的每个线程上执行:https://github.com/sass/node-sass/issues/490#issuecomment-70388754

如果你有NVM,你可以:

nvm install 0.10

如果不这样做,您可以在此处找到NVM和说明:https://www.npmjs.com/package/nvm

答案 8 :(得分:2)

如果您已切换节点版本,您可能还需要npm remove gulp-sass并重新安装gulp-sass。

答案 9 :(得分:2)

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

答案 10 :(得分:1)

如果你来到这里是因为你在全系统升级了nodejs&突然你的emberjs ^ 1.13应用程序失败了这条消息,请确保你没有使用过时版本的ember-cli-sass。您需要在Ember应用中rm -rf node_modules bower_components dist tmp,然后使用相应的package.json版本更新ember-cli-sass,最后npm install --save-dev。这为我修复了它,而不必重建或更改任何其他依赖项。

答案 11 :(得分:1)

我删除了所有/node_modules文件夹,然后运行npm install并且它有效。

我有节点v5.5.0,npm 3.3.12

答案 12 :(得分:0)

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

在您的情况下,您开始使用gulp的任何流程都可能使用不同版本的node(比您预期的更多)。

答案 13 :(得分:0)

我和@Kos有同样的问题,只是出于某种原因,我不得不从我原来的package.json文件中修改gulp-sass包。然后它安装了当前的依赖项,现在它终于可以工作了!

答案 14 :(得分:0)

我的问题是我在node version 0.12.2的计算机上,但其1.x.x版本为npm。请务必更新您的npm版本:sudo npm install -g npm完成后,删除所有现有node-sass并通过npm重新安装。

答案 15 :(得分:0)

您需要使用正确的版本。尝试:

nvm use 0.12