77

我想node-sass在我的应用程序中使用该模块node.js v0.12来从libsass.
我执行npm i node-sass安装模块,到目前为止没有错误。

现在混乱开始了:
如果我只是REPL在终端中打开尝试,node-sass那么一切正常,但如果我将它包含在我的项目文件中并运行,node myfile.js那么我会收到以下错误消息:

Error: `libsass` bindings not found. Try reinstalling `node-sass`?

npmjs.com上的模块描述指出,在 Ubuntu 下解决可能存在问题#!/usr/bin/env node以及如何解决此问题,但在我的机器上并非如此。
我找不到任何有用的东西,所以我希望你能帮助我。

我在 Ubuntu 14.10 下使用节点 v0.12.2。

PS:我已经尝试重新安装 node-sass 但没有成功。没有什么变化。

4

13 回答 13

271

如果您使用的是 node 4.x 或更高版本,则需要重新安装 gulp-sass:

npm uninstall --save-dev gulp-sass
npm install --save-dev gulp-sass@2
于 2015-10-05T10:19:31.180 回答
119

您可能在使用时尝试过重新安装 node-sass

npm install node-sass

或者

npm uninstall node-sass
npm install node-sass

但是 node-sass 是 Sass 的 C 版本。您必须使用npm rebuild

npm rebuild node-sass
于 2015-04-14T09:56:55.247 回答
20

我通过删除现有/node_modules文件夹并运行解决了这个问题npm update

于 2015-07-08T20:19:23.343 回答
8

这是唯一对我有用的解决方案,

sudo npm install -g n
sudo n 0.12.7
npm install node-sass@2
sudo npm -g install node-gyp@3
npm rebuild node-sass
于 2016-02-22T11:31:46.457 回答
7

这个解决方法(http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20)对我有用。

从此设置开始:

Cordova CLI:5.3.3 Gulp 版本:CLI 版本 3.9.0 Gulp local:本地版本 3.9.0 Ionic 版本:1.1.0 Ionic CLI 版本:1.6.5 Ionic App Lib 版本:0.3.9 ios-deploy 版本:未安装ios-sim 版本:5.0.1 操作系统:Mac OS X Yosemite 节点版本:v4.1.1 Xcode 版本:Xcode 6.4 Build 版本 6E35b

我找到了避免使用“sudo”命令的解决方案。我们需要在此之前修复 npm 权限:https ://docs.npmjs.com/getting-started/fixing-npm-permissions并在此处修复 Node 权限:http: //mawaha.com/permission-fix-node- js/在此之后,我们可以检查并重新安装没有 'sudo' 的 npm、n 或 ionic 软件。

我按照以下步骤操作:

npm install -g n
rm -R node_modules/ 
npm install node-sass@3.3.3 
npm -g install node-gyp@3
npm uninstall gulp-sass
npm install gulp-sass@2 
npm rebuild node-sass 
ionic setup sass 

为什么选择 node-sass@3.3.3?因为它适用于最新的离子版本:https ://github.com/driftyco/ionic/pull/4449

于 2015-10-02T18:53:49.473 回答
5

结合上面的两个答案对我有用,加上补充:

sudo npm uninstall --save gulp-sass
npm install --save gulp-sass@2
npm update
npm rebuild node-sass
于 2016-10-10T09:59:04.927 回答
3

我已经解决了这个问题,用指定的 binding.node 文件创建了正确的目录。您可以从 github 下载绑定

https://github.com/sass/node-sass-binaries

在错误消息中查看它尝试查找绑定的路径。就我而言:

C:\Users\Martijn\Documents\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-x64-46

所以我创建了这个映射 win32-x64-46 并从 github 复制绑定。

于 2016-06-23T20:48:24.480 回答
2

我的解决方案是降级到(如果您使用,请v0.10.25尝试)sudo n 0.10.25n

于 2015-09-18T23:27:56.237 回答
1

这对我来说是一个 Node 版本问题,尝试使用 nvm 将您的版本回溯到类似:0.10.32。这对我有用。我正在运行 4.2.2

于 2016-04-04T18:11:56.563 回答
1

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

于 2015-08-04T18:08:49.060 回答
0

无需 sudo 或重新安装。这一直对我有用:

nvm use 0.12.2
于 2016-11-08T19:04:23.347 回答
0

我通过将我的 gcc 从 4.4.x 更新到 4.7.x解决了这个问题

于 2016-03-26T10:36:20.807 回答
0

这是我为解决我的问题而采取的步骤。

  1. 我手动将我的节点更新到最新版本

  2. 重新安装 node-sass

npm 安装节点-sass

3.npm audit fix 修复某些漏洞。

`npm audit fix`

5.npm 安装节点-sass

 `npm install node-sass`

此后正确工作和编译。如果与我的答案有关的任何内容不正确,我深表歉意。我只是一个初学者。希望这对你有用

于 2021-01-28T14:13:49.077 回答