在nodejs中使用node-sass时找不到libsass绑定
我想在我的node.js v0.12
应用程序中使用node-sass
模块,以从libsass
的性能中libsass
。
我执行npm i node-sass
安装模块,到目前为止没有错误。
现在乱七八糟的开始:
如果我只是在terminal中打开REPL
来尝试node-sass
那么一切正常,但如果我把它包含在我的项目文件中,并运行node myfile.js
那么我得到以下错误信息:
Error: `libsass` bindings not found. Try reinstalling `node-sass`?
在npmjs.com上的模块描述表明,在Ubuntu下parsing#!/usr/bin/env node
可能会有问题,以及如何解决这个问题,但在我的机器上并不是这样。
我找不到任何有用的东西,所以我希望你能帮助我。
我在Ubuntu 14.10下使用node v0.12.2。
PS:我已经尝试重新安装节点sass,但没有成功。 没有什么变化。
您可能已尝试在使用时重新安装节点sass
npm install node-sass
要么
npm uninstall node-sass npm install node-sass
但是节点sass是Sass的C版本。 你必须使用npm重build :
npm rebuild node-sass
如果您正在使用节点4.x或更高版本,那么您需要重新安装gulp-sass:
npm uninstall --save-dev gulp-sass npm install --save-dev gulp-sass@2
我通过删除现有的/node_modules
文件夹并运行npm update
解决了这个问题
这个解决方法( http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20 )工作forms我。
从这个设置开始:
Cordova CLI:5.3.3 Gulp版本:CLI版本3.9.0 Gulp本地:本地版本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 Node版本:v4.1.1 Xcode版本:Xcode 6.4 Build版本6E35b
我find了一个避免使用“sudo”命令的解决scheme。 我们需要在此之前修复npm权限: https : //docs.npmjs.com/getting-started/fixing-npm-permissions并修复Node的权限: http : //mawaha.com/permission-fix-node- js /在此之后,我们可以检查并重新安装npm,n或离子软件,而无需“sudo”。
我跟着这一步:
npm install -gn 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
这是为我工作的唯一解决scheme,
sudo npm install -gn sudo n 0.12.7 npm install node-sass@2 sudo npm -g install node-gyp@3 npm rebuild node-sass
结合以上两个答案为我工作,再加上:
sudo npm uninstall --save gulp-sass npm install --save gulp-sass@2 npm update npm rebuild node-sass
我已经解决了这个问题,用指定的binding.node文件创build正确的目录。 你可以从github下载绑定
https://github.com/sass/node-sass-binaries
在错误消息中查找试图find绑定的path。 在我的情况下:
C:\用户\马亭\文件\ node_modules \吞-SASS \ node_modules \节点萨斯\厂商\ Win32的x64-46
所以我创build了这个映射win32-x64-46并从github中复制绑定。
我的解决scheme是降级到v0.10.25
(如果使用n
尝试sudo n 0.10.25
)
对我来说,这个问题是由我的构build系统(Travis CI)在我的.travis.yml
文件中做了一些愚蠢的事情.travis.yml
。 实际上, 在 nvm use 0.12
之前 ,我正在调用npm install
,而这导致node-sass
被构build为0.10
而不是0.12
。 我的解决scheme是将nvm use
从.travis.yml
文件的before_script
部分.travis.yml
到npm install
命令之前,它位于before_install
部分。
这对我来说是一个Node版本的问题,尝试使用nvm来回溯你的版本,如:0.10.32。 这对我有效。 我正在运行4.2.2
我通过更新我的gcc从4.4.x到4.7.x解决了这个问题
不需要sudo或重新安装。 这一直为我工作:
nvm use 0.12.2