Reputation: 4582
I want to use the node-sass
module in my node.js v0.12
application to benefit from the performance of libsass
.
I executed npm i node-sass
to install the module, no errors so far.
Now the mess starts:
If I just open the REPL
in a terminal to try out node-sass
then everything works fine but if I include it in my project files and run node myfile.js
then I get the following error message:
Error: `libsass` bindings not found. Try reinstalling `node-sass`?
The module's description at npmjs.com states that there might be a problem with resolving #!/usr/bin/env node
under Ubuntu and how to fix this but that is not the case on my machine.
I could not find anything useful so I hope that you might help me.
I'm using node v0.12.2 under Ubuntu 14.10.
P.S.: I already tried to reinstall node-sass but without success. Nothing changes.
Upvotes: 78
Views: 76697
Reputation: 11
This is the steps I undertook to fix my issue.
I updated my node manually to the latest version
Reinstalled node-sass
npm install node-sass
3.npm audit fix to fix certain vulnerabilities.
`npm audit fix`
5.npm install node-sass
`npm install node-sass`
worked and compiled properly thereafter. I apologize if anything related to my answer isn't right. I'm just a beginner. Hope it works for you
Upvotes: 0
Reputation: 1556
No need for sudo or re-installations. This has always worked for me:
nvm use 0.12.2
Upvotes: 0
Reputation: 10621
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
Upvotes: 8
Reputation: 4329
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
Upvotes: 5
Reputation: 91
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.
Upvotes: 3
Reputation: 131
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
Upvotes: 1
Reputation: 1648
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
Upvotes: 120
Reputation: 11425
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
Upvotes: 273
Reputation: 1148
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 [email protected]
npm -g install node-gyp@3
npm uninstall gulp-sass
npm install gulp-sass@2
npm rebuild node-sass
ionic setup sass
Why [email protected]? Because it works with latest ionic version: https://github.com/driftyco/ionic/pull/4449
Upvotes: 7
Reputation: 516
My solution was to downgrade to v0.10.25
(try sudo n 0.10.25
if you use n
)
Upvotes: 2
Reputation: 16588
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.
Upvotes: 1
Reputation: 4112
I fixed this issue by deleting the existing /node_modules
folder and running npm update
Upvotes: 20