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

269

我希望使用Google Web Starter Kit。我已经安装了Node.js v0.12.0,node-sassgulp

然后运行:

$ 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 对我有用。 - zero_cool
17个回答

385

如果你的Node版本是4,并且正在使用gulp-sass,则尝试:

npm uninstall --save-dev gulp-sass

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

5
我帮你修复了 Node 4.1 上的问题 :) 谢谢。 - Zalaboza
npm install --save-dev gulp-sass@3 对我来说解决了问题! :P - Alx
3
谢谢。也许这个答案应该标记为“正确的”。 - Paul Seleznev
1
谢谢,我花了很多时间尝试解决这个问题,而这正是有效的解决方案! - HjalmarCarlson
1
同样解决了2016年12月v6.9.2上的问题。谢谢! - user743873
显示剩余9条评论

341

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
2
我在尝试其他方法之前就尝试了这个,而且它完美地运行了。干杯! - ConorLuddy
15
我收到了一个错误:无法找到模块“node_modules/node-sass/node_modules/pangyp/bin/node-gyp”。 - lrkwz
1
对我来说完美运行。 - B R

233

我在使用 node 0.12.0 时遇到了这个错误,通过删除现有的 /node_modules 目录并运行 npm update 命令来解决它。


如果您在package.json中没有指定所有依赖项,那么这将无法正常工作。 - Victor Marchuk
我不得不删除文件夹,然后运行npm install,然后npm update。但这指引了我正确的方向。谢谢! - Timothy
42
这是一种激烈的解决方案。只需使用 npm rebuild node-sass 命令,该命令专门用于重新构建 C++ 插件。 - Chris Sattinger
我相信我们在内部项目中遇到了这个问题,因为一个 node_modules 目录被意外地提交到源代码控制中,与源代码一起提交了进去。 - jpierson
2
对我来说没有解决任何问题 :( - Isochronous
显示剩余4条评论

84

npm rebuild node-sass 给我在 Ubuntu 上带来了错误,而 npm install gulp-sass 没有消除错误。

在 GitHub 上看到了一个解决方案,适用于我:

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass


今天使用最新版本工作。 - gtamborero

22

我遇到了同样的问题:

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

解决方法是安装支持当前node版本的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 install --save-dev gulp-sass" 解决了我的问题。 - Sul Aga
2
npm install grunt-sass 对我解决了这个问题。 - Paul Schreiber

11

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

npm rebuild node-sass

对于我来说解决了这个问题。


9

问题已经解决。 对于Mac用户,nvm也可以通过homebrew安装:“brew install nvm”。在切换到0.10.36版本后,请确保它真的处于活动状态:“node -v”。 - cjoy
9
将节点本身降级更多地是一种解决方法而不是答案。 - mikemaccana
1
这个 bug 已经在 node-sass@2.0.1 中得到修复,正如本回答所引用的 ticket 最后由 @mikemaccana 发现的那样。请参见他在此线程中的评论。 - natepers
1
如果您使用 'grunt-sass',请在更新 'node-sass' 后进行更新。如果仍然遇到问题,请执行以下操作:'npm install --save-dev grunt-sass'。 - natepers

3
这个回答和问题有些不相关,但是——libsass绑定在Node v4.0.0上与node-sass包装器不能正确安装。我得到了与问题中相同的错误信息(Error: 'libsass' bindings not found. Try reinstalling 'node-sass'),但最终我卸载了Node v4.0.0并使用nvm安装了v0.12.7,通过以下脚本:

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

现在libsass和node-sass表现正常。

2

如果您更换了Node版本,您可能还需要npm remove gulp-sass并重新安装gulp-sass。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接