我想使用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,但这没有用。
接下来我该怎么做?
答案 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版本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