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


263

我想使用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

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

接下来我该怎么办?


降级节点对我有用。
zero_cool

Answers:


386

如果您的节点版本为4,并且您正在使用gulp-sass,请尝试

npm uninstall --save-dev gulp-sass

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

5
我在节点4.1上解决了问题:) ty
Zalaboza

也为我在Debian 8.1和Node 4.1上修复了。非常感谢。
VinceOPS

3
谢谢。可能此答案应标记为“正确的答案”)
Paul Paca-Vaca Seleznev

1
谢谢,花了很多时间尝试解决此问题,这是有效的解决方案!
HjalmarCarlson

1
截至2016年12月,还解决了v6.9.2上的问题。谢谢!
digitalformula

341

我发现此有用的命令:

npm rebuild node-sass

rebuild 文档中

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

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


5
得到了很多的错误,像Python not supported byFailed at the node-sass@0.8.6 install script 'node build.js'
AlikElzin-kilaka

14
这应该是可以接受的答案,因为它可以最小程度地解决实际问题。
TheHippo

1
@ AlikElzin-kilaka:确保已安装Python,并将PYTHON环境变量设置为指向安装。
Roope Hakulinen 2015年

2
我在没有其他尝试之前尝试过,并且效果很好。干杯
ConorLuddy 2015年

15
我在Error: Cannot find module 'node_modules/node-sass/node_modules/pangyp/bin/node-gyp'
2015年

233

我在使用node时遇到此错误0.12.0,并且已通过删除现有/node_modules目录并运行来解决此错误npm update


如果您没有在package.json中指定所有依赖项,那将行不通
Victor Marchuk 2015年

我必须删除文件夹,然后运行npm install,然后运行npm update。但这为我指明了正确的方向。谢谢!
蒂莫西

删除node_modules文件夹导致:Error: Cannot find module 'c:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'运行时npm update
2015年

41
这是极好的解决方案。只需使用npm rebuild node-sass专门用于重建C ++插件的工具即可。
克里斯·萨丁格

2
没有为我解决任何问题:(
同步

84

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

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

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass


今天为@lastest版本工作
gtamborero

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

8
对于使用'grunt-sass'的我们来说,请确保并更新:'npm install --save-dev grunt-
sass'– natepers

19

如果您使用Gulp,请尝试:

npm install gulp-sass

我有同样的问题,而gulp-sass包装就是问题。


在“ npm卸载--save-dev gulp-sass”之后使用此命令为我解决了问题
Sul Aga

2
npm install grunt-sass为我解决了问题。
Paul Schreiber 2015年

11

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

npm rebuild node-sass

为我完成了工作


9

将Node降级到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


为我解决了这个问题。Mac用户也可以通过homebrew获得nvm:“ brew install nvm”。切换到0.10.36版本后,请确保它确实处于活动状态:“ node -v”
cjoy

9
降级节点本身更多的是解决方法,而不是答案。
mikemaccana

1
该错误已在node-sass@2.0.1-中修复,如@mikemaccana在此答案引用的票证末尾发现的一样。在此主题中查看他的评论。
natepers

1
如果您仍然遇到问题,“ grunt-sass”用户应在更新“ node-sass”之后进行更新:“ npm install --save-dev grunt-sass”
natepers

3

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

libsass绑定不能与Node v4.0.0上的node-sass包装器一起正确安装。我收到与问题相同的错误消息(Error: 'libsass' bindings not found. Try reinstalling 'node-sass')但最终通过以下脚本,使用nvm卸载了Node v4.0.0并安装v0.12.7:

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

现在libsass和node-sass的行为正常。


2

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


2

当gulp-sass版本为1.3.0时,我也遇到了同样的问题,并在升级到2.1.0之后对其进行了修复。


1

如果您是因为在系统范围内升级了nodejs而突然来到这里的,而您的emberjs ^ 1.13应用突然出现此消息,请确保您未使用的过时版本ember-cli-sass。您需要rm -rf node_modules bower_components dist tmp在Ember应用程序中,然后package.json使用适当的ember-cli-sass版本进行更新,最后是npm install --save-dev。这为我修复了此问题,而无需重建或更改任何其他依赖项。


1

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

我有节点v5.5.0,npm 3.3.12


0

对我来说,这个问题是由于我的.travis.yml文件中有些笨拙而在我的构建系统(Travis CI)中引起的。实际上,我npm install 之前 在打电话nvm use 0.12,这是node-sass0.10而不是建造的0.12。我的解决方案只是将文件部分nvm use移出该部分之前的命令。.travis.ymlbefore_scriptnpm installbefore_install

在您的情况下,很可能您开始的任何过程都gulp使用node(而不是您期望的)其他版本。


0

我遇到了与@Kos相同的问题,只是出于某种原因,我不得不从package.json我拥有的旧文件中修改gulp-sass软件包。然后,它当前安装了依赖项,现在终于可以使用了!


0

我的问题是我在装有的计算机上运行node version 0.12.2,但该计算机的1.x.x版本较旧npm。确保更新您的npm版本:sudo npm install -g npm完成后,删除所有现有版本node-sass并通过npm重新安装。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.