libsass bindings not found when using node-sass in nodejs

独自空忆成欢 提交于 2019-11-27 10:12:27
Philipp Andreychev

You’ve probably tried to reinstall node-sass while using

npm install node-sass

or

npm uninstall node-sass
npm install node-sass

But node-sass is a C version of Sass. You have to use npm rebuild:

npm rebuild node-sass

If you're using node 4.x or later then you need to reinstall gulp-sass with:

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

I fixed this issue by deleting the existing /node_modules folder and running npm update

This workaround (http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20) worked form me.

Starting with this setup:

Cordova CLI: 5.3.3 Gulp version: CLI version 3.9.0 Gulp local: Local version 3.9.0 Ionic Version: 1.1.0 Ionic CLI Version: 1.6.5 Ionic App Lib Version: 0.3.9 ios-deploy version: Not installed ios-sim version: 5.0.1 OS: Mac OS X Yosemite Node Version: v4.1.1 Xcode version: Xcode 6.4 Build version 6E35b

I've found a solution to avoid to use 'sudo' command. We need before to fix npm permissions following this: https://docs.npmjs.com/getting-started/fixing-npm-permissions and fixing permissions for Node here: http://mawaha.com/permission-fix-node-js/ After this we can check and reinstall software without 'sudo' for npm, n or ionic.

I followed this step:

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 

Why node-sass@3.3.3? Because it works with latest ionic version: https://github.com/driftyco/ionic/pull/4449

Stranger

This is the only solution that worked for me,

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

Combining the two answers above worked for me, plus additions:

sudo npm uninstall --save gulp-sass
npm install --save gulp-sass@2
npm update
npm rebuild node-sass

I have solved this to create the right directory with the specified binding.node file. You can download the bindings from github

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

Look in the error message the path where it tries to find the binding. In my case:

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

So I create this map win32-x64-46 and copy the binding from github in.

My solution was to downgrade to v0.10.25 (try sudo n 0.10.25 if you use n)

For me, this issue was caused in my build system (Travis CI) by doing something kind of dumb in my .travis.yml file. In effect, I was calling npm install before nvm use 0.12, and this was causing node-sass to be built for 0.10 instead of 0.12. My solution was simply moving nvm use out of the .travis.yml file’s before_script section to before the npm install command, which was in the before_install section.

This was a Node version issue for me, try using nvm to backtrack your version to something like: 0.10.32. This worked for me. I was running 4.2.2

worldask

I solved this problem by updating my gcc from 4.4.x to 4.7.x

No need for sudo or re-installations. This has always worked for me:

nvm use 0.12.2
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!