Node Sass couldn't find a binding for your current environment
Asked Answered
E

63

721

I am having issues building an app because node-sass keeps failing with the error.

ERROR in Missing binding /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node
Node Sass could not find a binding for your current environment: OS X 64-bit with Node 0.10.x

I have tried running

npm rebuild node-sass

which says

Binary is fine; exiting.

When running node -v I get v6.2.2

Which is different to what the sass error says "Node 0.10.x". I can't figure out why it is getting the wrong version. I have also tried removing the node_modules folder and running npm update or npm install, both of which did not resolve the issue. Any ideas?

Exsanguinate answered 23/6, 2016 at 8:57 Comment(10)
Are you using a node version manager such as nvm? If you are sometimes it messes up some of the npm module paths and they try using a version, different that the current one. If not you could always try removing the node_modules folder and installing the dependencies againKneepan
Hey im not using nvm and I tried the removal/re-install step. no luck.Exsanguinate
what is your development environment? you use VS.NET 2105?Barite
@VasilDininski I'm using nvm, what should I do?Did
What error message did you receive? And what is your dev environment?Kneepan
Have you tried removing your ~/.node-gyp or ~/.npm folder? Mentioned below.Dygert
I've tried deleting the node_modules directory and also running npm install, followed by npm rebuild node-sass --force, but to of no avail. I installed node via npm. But, for some reason, my build environment thinks I need a Linux build even though I'm running on Mac OS X: Module build failed: Error: Missing binding /frontend/node_modules/node-sass/vendor/linux-x64-57/binding.node Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 8.x Found bindings for the following environments: - OS X 64-bit with Node.js 8.xStrage
Open Visual Studio 2017 Go to Tools -> Options…Go to Projects and Solutions -> Web Package Management move $(PATH) to the top of that list and close that window. In my case this solution worked because my node version is 11.xOvermaster
Very much late . As I got this issue today only after I update my system nodejs version in windows 10. I removed both node_modules folder and the package_lock.json from work directory and run npm install and it starts working.Barbitone
npm rebuild node-sass Works for me on MacOSThickskinned
R
976

I had the same problem

There is an error in your gulpfile:
Error: Missing binding E:\allapp\badshaindiancuisine\node_module\node-sass\vendor\win32-x64-46\binding.node
Node Sass could not find a binding for your current environment:Windows 64-bit with Node.js 4.x

Found bindings for the following environment:
    - OS X 64-bit with Node.js 4.x

How to solve the problem

By going into the project folder and then executing the command:

npm rebuild node-sass
Roobbie answered 8/11, 2016 at 8:8 Comment(12)
Worked initially but was still having problems. So, I went to /usr/local/lib/ using CMD+SHIFT+G in finder and renamed node-sass folder. Then ran npm install node-sass -g. that fixed. I'm on Mac OSSeel
I was facing this issue after updating nodejs to 8.x.x and this solved it. Thanks much! Appreciated!Dourine
Doesn't work. Node: v10.7.0 node-sass: v3.13.1. Says my current environment is 32 bit windows with node 0.10.x which is simply not true.Coypu
This worked in windows 7 with node 10.14 LTS and npm 6.4.1.Fred
Worked for me. I think I upgraded node the other day and consequently node-sass stopped working. I ran npm rebuild node-sass and it worked.Robber
Didn't work for me - rebuilding just said it was fine and exitedOnomatopoeia
First step would be to delete your node_modules and run npm install rather than rebuilding your node-sass.Fellah
This worked for me without any extra steps, Thanks!Dilative
Problem persisted after npm rebuild node-sass. However, npm uninstall node-sass then npm install node-sass worked for me.Jocularity
what should I do if using yarn?Trichocyst
Don't forget to remove package-lock.json too!!!Henke
worked. any explanation on what it does?Jugurtha
L
366

For those that are using Visual Studio:

Currently working for VS 2015, 2017, 2019, 2022 (via below and/or replies from this post)

Task Runner Explorer can't load tasks

For VS 2015

  • Go to: Tools > Options > Projects and Solutions > External Web Tools

For VS 2017(.3), VS 2019, and VS 2022

  • Tools > Options > Projects and Solutions > Web Package Management > External Web Tools (per @nothrow)

In VS 2017, 2019, 2022, you also need to put $(PATH) above $(VSINSTALLERDIR)\Web\External


  • Reorder so that $(PATH) is above $(DevEnvDir)\Extensions\Microsoft\Web Tools\External

enter image description here


Deleting node_modules and running npm install and then npm rebuild node-sass did nothing.

Leslileslie answered 4/1, 2017 at 0:21 Comment(15)
If you are using VS2015 you should definitely make the changes described in this answer. It's probably all you will need to do to fix this issue.Furnishing
This also worked for a brand new install of VS2017 also.Bleb
This fixed by issue. @Exsanguinate I believe this should be the accepted answer for others to find the answer easily.Sheley
In VS2017.3, the path to the setting is Tools > Options > Projects and Solutions > Web Package Management > External Web ToolsGluck
This worked out for me also. I'm running VS Professional 2015Papandreou
This fixed my issue (and the rest of my dev team has come across this - I've had some rollback to 5.0 node just to get this working).Hedgehog
Fantastic answer, I've been having issues with VS2017 and where is grabs external pieces.Donoghue
damn!i would never figure it out... all to compile stupid sass with stupid node in stupid javascriptKellsie
This worked for me after deleting node_modules from the project. (Running VS2017)Merna
If creating a docker image, and receiving this error during the docker build, you must ensure you didn't accidentally include a node_modules directory from your host drive. You need to have a .dockerignore file containing an exclusion for 'node_modules', otherwise those files from your hist will be copied into the container during a 'copy . .' command. The when building a node project in the container which is most likely based off a different underlying Os image, it will attempt using the binding node which was copied in from the host OS - which is obviously the wrong one.Altissimo
Can confirm, this is still a thing in VS 2019.Sandasandakan
Thank you for reminding me to move environment variables above VS extensionsUncivil
Deleting node_modules really helped.Peacoat
Not sure why using node in VS is so difficult, with this many gotchas. Spent hours on this issue; tried everything until I moved the path above the external tools. The errors in Task Runner Explorer gave no indication of the underlying problem.Theatricalize
Still a thing in VS2022 as well (Preview 4, at least)Licentious
P
193

**Just execute: ** npm rebuild node-sass --force



If the above for some reason didn't work out for you, try this:
  1. Delete node-sass folder under node_modules
  2. npm install

In my case it also couldn't find Python.

Following procedure solved the issue (Windows):

npm rebuild node-sass --force
-- cannot find python.exe, if you have Python installed, add it to your path:
set PYTHON=C:\Python27\Python.exe
-- else: download python "Windows x86-64-MSI" installer from https://www.python.org/downloads/release/python-2714/
-- install python
-- at installation start check: add env variable to path
-- after successfull installation:
npm rebuild node-sass --force
-- finished successfully
Phalanx answered 25/2, 2018 at 14:54 Comment(2)
The above worked for me, albeit that it occurred twice in two different apps in two different folders. The python install was a one-off (i.e.not needed when I got the error a second time on my other app) and I didn't need the final npm run build command (not explicitly at least) but I did need to run the rebuild --force twice for both my apps.Putumayo
Rebuild need more then 10 minutes on my Ubuntu 20.04.Osher
P
170

Worked for me:

Just delete the node-sass folder and run npm install.

Pushkin answered 10/7, 2017 at 12:9 Comment(6)
This works for me too. Clearly a node version conflict. Thanks!Bonfire
Did have to delete it the following directory: C:\Users\your_user_name\AppData\Roaming\npm-cacheDiena
This worked! npm rebuild node-sass did not work for me. (Mac with WebStorm)Kerr
This is the only solution that worked for me! npm rebuild node-sass --force didn't work either.Blabber
This should be marked as the answer. Until now I had no idea why my solution kept targeting a higher version of node and kept giving me error message about nodesass. I had a step in the Azure pipeline to force the node version to the one I want. Now I can removed that step!Leathaleather
npm uninstall node-sass followed by npm install node-sass and finally adding the python.exe file with directory to the env Path variableMayberry
R
154

I had the same problem in a Windows environment, receiving the following error:

Error: Missing binding C:\Development{ProjectName}\node_modules\node-sass\vendor\win32-ia32-47\binding.node
Node Sass could not find a binding for your current environment: Windows 32-bit with Node.js 5.x
Found bindings for the following environments:
   - Windows 64-bit with Node.js 6.x

None of the npm commands listed in the other answers here (npm install, npm rebuild node-sass, etc.) worked.

Instead, I had to download the missing binding and place it in the appropriate destination folder.

The bindings can be found on git. Match the file with the folder name identified after /node_modules/node-sass/vendor/ in your error message ('darwin-x64-11' in your case, so you'd want the darwin-x64-11_binding.node file).

Create the missing folder in your project (/node_modules/node-sass/vendor/darwin-x64-11), copy the .node file to the new directory, and rename it to binding.node.

Node-sass release URL: https://github.com/sass/node-sass/releases

Raoul answered 23/12, 2016 at 16:40 Comment(12)
Also worked for me, thanks! Tried cleaning up node_modules, deleting cache, rifraf, rebuild node-sass, rebuild from VS2015 instead of from command line with npm and at the end this fixed it.Whereupon
I had to place to file in C:\Users\USERNAME\AppData\Roaming\npm\node_modules\node-sass\vendor\win32-x64-57\Masker
And each time you set up your project you must redo?seems a bit cumbersomeExpenditure
@JanCiołek I only had this happen once, so I never had to redo this. I'm not sure if it was version specific, or if there was just a problem with the specific install, but I found no better solution (the other answers here did not work for me). Cumbersome or not, it seemed to be the necessary solution for some variations of this problem.Raoul
@Raoul This bug ate alot of my time,i did all that was mentioned in this thread but i forget to run compilation.Thanks !Expenditure
This is the only answer that worker for me, but found my binding in github.com/sass/node-sass/releases instead of the linked URL. CheersOutworn
My error says 'linux-x64-57/binding.node' which is not available on the git url that you posted. update: found it :)Nasser
Thank you @Beofett. Your answer saved me to run my Ionic project in Windows and Mac OSX.Stalagmite
I tried using that and now it tells me that it could not find the bindings even though one line later it stated that it found them...Cygnus
This is the only thing that worked for me - On Linux 64 with Node 12.6. For some reason, node-sass wanted the binding for Node 8.x. I had to manually create the linux-x64-57 folder, download the binary binding.node, and copy it into that folder.Gibran
thanks! this seems a bit "hacky", but as long as it works I'm a happy camper :)Valvate
This also work for me but when you reinstall the node_modules folder you will have the same issue right?Lucaslucca
B
40

I had a similar problem and the reason was that there were two versions of Node installed in my machine: one "global" and another one at the project level. Sass will build correctly only if the Gulp build is running under Node.js 4.x version, so make sure you upgrade the version of Node you are using.

PS: If you completely remove the node_modules folder in your project and re-build from scratch, npm will download the correct dependencies for your current system & node version.

Bugger answered 17/8, 2016 at 12:21 Comment(1)
thank god for this. I actually tried to downgrade node on my macbook first and then gave up after half an hourTychonn
S
40

npm rebuild node-sass --force

Or, if you are using node-sass within a container:

docker exec <container-id> npm rebuild node-sass --force

This error occurs when node-sass does not have the correct binding for the current operating system.

If you use Docker, this error usually happens when you add node_modules directly to the container filesystem in your Dockerfile (or mount them using a Docker volume).

The container architecture is probably different than your current operating system. For example, I installed node-sass on macOS but my container runs Ubuntu.

If you force node-sass to rebuild from within the container, node-sass will download the correct bindings for the container operating system.

See my repro case to learn more.

Stationer answered 23/5, 2018 at 23:13 Comment(4)
Facing the same issue with different environments: - dev under MacOS for unit tests - dev using docker-compose (for full system interactions) - prod under alpine-based OS ; Mounting (or not) and npm install (or not) in docker is problematic when having architecture dependent modules: getting darwin or linux binaries depending on where you npm i It happens for NodeJS modules like node-sass, or @google-cloud/pubsubFillian
Thank you for mentioning the solution for docker, this is exactly what fixed it for me!Aciniform
I had /node_modules which was being bind mounted into the container at /app/node_modules. Even though my NODE_PATH was /node_modules (which did exist) and should have been in a different spot.., it randomly started causing issues. I had installed at both places so that my dev deps for prettier would work with my vscode. whoops. weird stuff. Thank you for the docker mention <3Ferdinana
I found this worked after deleting /node_modules/, then running 'npm install' then your command 'npm rebuild node-sass --force'Swap
P
25

node-sass node module uses darwin binary file which is dependent on the version of node. This issue occurs when the binary file is not downloaded or wrong binary file is downloaded.

[![Node sass error][1]][1]

Reinstall node modules will download expected binary of node-sass:-

For Mac users:

rm -rf node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force

For Windows users:

rmdir node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force

but for some users, you need to check your node version's compatibility with node-sass version. Make it compatible using below table and run above commands again to fix this issue.

This is node compatibility table with node-sass

NodeJS | Supported node-sass version | Node Module
Node 19     8.0+                        111
Node 18     8.0+                        108
Node 17     7.0+                        102
Node 16     6.0+                        93
Node 15     5.0+                        88
Node 14     4.14+                       83
Node 13     4.13+, <5.0                 79
Node 12     4.12+                       72
Node 11     4.10+, <5.0                 67
Node 10     4.9+, <6.0                  64
Node 8      4.5.3+, <5.0                57
Node <8     <5.0                        <57

If issue is still not fixed, check node-sass supported environment's list:- https://github.com/sass/node-sass/releases/

Prophesy answered 25/11, 2019 at 5:30 Comment(1)
Also, if you clone others project you need to change the node in your package.json to your current node version.Arrogant
R
21

in some cases you need to uninstall and install node-sass library. Try:

npm uninstall --save node-sass

and

npm install --save node-sass

look at this its work for me, Stack link here

Rettarettig answered 9/11, 2017 at 9:0 Comment(0)
T
20

* Docker related answer here *

Answer for if you are seeing this problem, or something similar, and are using Docker.

Cause: When copying over the current file structure to inside the Docker container, you may be copying over node modules from one OS system to another (e.g. a Mac to Linux container).

Solution:

Add a .dockerignore, and inside add:

node_modules

This will cause an npm install to install the bindings for the docker environment, rather than your local machine environment.

Thier answered 12/4, 2019 at 18:25 Comment(1)
Can someone elaborate this answer? This is something I needed, but it would be helpful if anyone can explain this answer. ThanksLeahleahey
R
19

If your terminal/command prompt says:

Node Sass could not find a binding 
for your current environment: 
OS X 64-bit with Node 0.10.x

and you have tried the following commands such as:

npm cache clean --force 
rm -rf node_modules 
npm install 
npm rebuild node-sass

& still NOTHING works..

Just run this in the terminal manually:

node node_modules/node-sass/scripts/install.js

now run

npm start or yarn start
Rachealrachel answered 12/4, 2020 at 3:58 Comment(3)
Finally! Thank you. This is the only solution worked for me so far. I've been struggling for two days. Could you please explain what is the reason behind?Markitamarkka
YES YES YES! Finally! Jackie - Thank you soooooo much.Mickel
should be rm -rf node_modulesBangs
P
15

I had the same problem

    throw new Error(errors.missingBinary());
    ^

Error: Missing binding /path/to/project/node_modules/node-sass/vendor/linux-x64-47/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 5.x

Found bindings for the following environments:
  - Linux 64-bit with Node 0.10.x
  - Linux 64-bit with Node.js 5.x

That was because I did npm install using a different nodejs version, try deleting node_modules folder installing and starting

cd your_project
rm -rf node_modules
npm install
npm start or gulp or whatever

If you are using nvm do

nvm use stable // or your favorite version
// remove node_module directory
npm install
npm start or gulp or whatever
Polley answered 3/10, 2016 at 19:58 Comment(0)
K
15

Try to add suffix --force

npm rebuild node-sass --force
Kendrickkendricks answered 10/1, 2018 at 1:12 Comment(1)
Worked for me. Thank you.Tweeny
U
15

For my particular case none of the above answers worked. So what it worked:

rm -rf node_modules 
rm -rf /tmp/* 
rm -rf /root/.npm/node-sass 
npm uninstall --save node-sass 
npm cache clean --force 

npm cache verify to check that nothing is left in the cache

npm install

Altough I haven't tried to reproduce the sequence it was a combination of the above that worked. In addition you may also try:

npm install --save node-sass or npm install node-sass -g

npm rebuild node-sass
npm install bindings
United answered 23/11, 2018 at 12:12 Comment(0)
G
9

I had the same problem with Node v7.4.0 Current (Latest Features).

Did some reading here and downgraded Node to v6.9.4 LTS and after running npm rebuild node-sass it downloaded the binary and everything started working.

Downloading binary from https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-48_binding.node
Download complete .] - :
Binary saved to D:\xxx\xxx-xxx\node_modules\node-sass\vendor\win32-x64-48\binding.node
Caching binary to C:\Users\user\AppData\Roaming\npm-cache\node-sass\3.13.1\win32-x64-48_binding.node`

Grandioso answered 22/1, 2017 at 12:55 Comment(0)
I
6

I'm a Windows 8 user, recently updated Node to v8.11.1 and npm to v6.0.0 and faced similar issue. Nothing worked - npm install -g node-sass@latest or deleting the node-sass directory from the project node_modules/ - none of 'em worked for me.

The Laravel Mix was throwing an error to my browser console saying a missing node: win32-x64-57. I don't know whether it's because a slower internet connection or something, the node was missing during the update.

Hence some of the answers directed me to look at the Node-Sass releases, and I found the solution.

  1. Step 1: Check your node-sass version using the command: npm view node-sass version (the {your version} in step 4)
  2. Step 2: Get to Node-Sass Releases
  3. Step 3: Get your release and find the missing node in the assets listed under every release, and download the file
  4. Step 4: Get to your PC's C:\Users\{User}\AppData\Roaming\npm-cache\node-sass\{your version}\ and put the downloaded .node file inside the version folder

And you are done.

In my case the node-sass version was 4.9.0 and the missing node was win32-x64-57_binding.node, so I downloaded the .node file from 4.9.0 release and followed step 4.

Ildaile answered 4/5, 2018 at 16:38 Comment(1)
Woaw... we got stuck on this for a full hour on a colleague's computer before finding this anwser. Nothing else worked, even trashing the whole node_modules directory. This completely solved the issue for us, thanks a lot for your help.Goudy
C
5

For Visual Studio 2015/2017, Right Click on your package.json and Click on Restore Packages.

This will make sure that the npm from the Visual Studio Tools External Tools is run and the binding will be rebuild based on that.

Contemplative answered 26/6, 2017 at 16:35 Comment(1)
Nice and easy solution, and the only one that worked from the few above that I tried. Thanks!Incidence
S
4

I had the same issue. I couldn't find any proper working solution in here, so I found mine:

Inspired by @Rob-Scott solution and other pointing that we could have 2 versions of Node.js installed, I went to C:\Program Files (x86)\nodejs and realized that I had a node.js version installed in addition to the VS default installation.

My solution was quite simple:

  • Go to Tools > Options > Projects & solutions > Web package management > External web tools
  • Click on add an entry (most left of the top-right block of buttons)
  • Enter C:\Program Files (x86)\nodejs, validate by pressing enter
  • Bring it at the top of the list
  • Enjoy

Probably Node.js is not set well in the PATH variable, but this is my working very quick solution, my 2 cents :)

Surprisal answered 15/5, 2018 at 23:16 Comment(0)
D
4

This happens when in your workstation you run an update of Node.js and you are using node-sass globally.

So you should uninstall node-sass globally

npm uninstall -g node-sass

And then you have to install it globally, again

npm install -g node-sass
Duplicate answered 2/10, 2018 at 9:5 Comment(2)
Good explanation!Astraea
@Fay007 could you provide more info? Do you have an error? Let me knowDuplicate
G
4

The post dependencies for node-sass is not getting installed without the package.json inside node-sass

Running it manually solved for me

node node_modules/node-sass/scripts/install.js 

credit: link

Gross answered 18/12, 2019 at 9:48 Comment(2)
Thanks for this, this solved my issue perfectly! :)Upcountry
Glad to know :)Gross
K
4

Run the following commands, it works fine for me.

npm install node-sass -g

npm rebuild node-sass

nvm use 10.16.3

node node_modules/node-sass/scripts/install.js

ng serve --poll=2000

Kiangsi answered 17/4, 2020 at 11:53 Comment(0)
W
4

This worked for me: yarn add --force [email protected] or yarn add --force node-sass

Weasner answered 24/11, 2020 at 5:50 Comment(0)
M
3

This usually happens because the environment has changed since running npm install. Running npm rebuild node-sass builds the binding for the current environment.

Michikomichon answered 29/3, 2017 at 5:59 Comment(0)
U
3
  1. Create a new directory in node_modules/node-sass/vendor/linux-x64-46/ .
  2. the download fil from https://github.com/sass/node-sass/releases
    (linux-x64-59_binding.node) based upon your version.
  3. paste it in node_modules/node-sass/vendor/linux-x64-46/ rename it to binding.node
Unchurch answered 5/4, 2018 at 9:57 Comment(1)
although not a good practice, this solution might actually work (when all others fail) so when downvoting, it should be clarified whyUnited
P
3

I had this issue when upgrading from VS 2017 Professional to Enterprise

  1. Close VS
  2. Delete node_modules
  3. Open VS
  4. Right click package.json and select 'restore packages'
Patently answered 28/8, 2018 at 11:42 Comment(1)
This is the safest approach for Visual Studio. Forget about all of these commands because they probably won't work. The commands have to be run from the same environment, which is the tricky part. Let visual studio do it and you're set.Myeloid
P
3
  1. Delete node_modules folder.
  2. Install dependencies again. (npm i)
Perspire answered 28/12, 2018 at 13:34 Comment(2)
This is only solution with npm or yarn.Osher
Thank you! This was driving me nuts, and your solution fixed it for me!Arteriovenous
R
3

None of the install/rebuild solutions resolved the issue for me (using gulp).

Here is how I resolved it:

1) Download the missing binding file from the repository.

2) Rename the file binding.node.

3) Create node_modules/node-sass/vendor/darwin-x64-11 (path from error message) directory if it doesn't exist.

4) Add the binding file to node_modules/node-sass/vendor/darwin-x64-11

Ribbonwood answered 14/1, 2019 at 18:23 Comment(0)
A
3

Just refresh your npm cache and:

npm cache clean --force  
npm install

It always works for me in the same case.

UPD: Your problem may also be by reason of absence of a global sasslib.

npm install -g sass
Anta answered 26/1, 2019 at 19:29 Comment(0)
O
3

Open Visual Studio 2017
Go to Tools -> Options…
Go to Projects and Solutions -> Web Package Management
Move $(PATH) to the top of that list and close that window.
Restart Visual Studio.
This worked in my case, because my node version is 11.x

Overmaster answered 4/5, 2019 at 10:58 Comment(1)
Definitely a valid answer when different projects use different bindings. Executing rebuild node-sass was not enough. Changing the path priority fixed this.Knurled
S
3

Probably you have a build with different node version than the current one. Try running these commands and it should fix the issue.

npm cache clean --force &&  
rm -rf node_modules &&  
rm -rf package-lock.json &&  
npm i
Scarification answered 23/11, 2021 at 12:9 Comment(2)
This worked, but I believe line 3 should be package-lock.json. Concise and correct - many thanks.Olodort
That was a typo, updated command, thank you!Scarification
D
2

A similar error I encountered with Visual Studio 2015 Community Edition while having created an AspNetCore app was:

Node Sass could not find a binding for your current environment: Windows 32-bit with Node.js 5.x
Found bindings for the following environments:
  - Windows 64-bit with Node.js 6.x
This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to build the binding for your current environment.
    at module.exports ([..]\node_modules\node-sass\lib\binding.js:15:13)
    at Object.<anonymous> ([..]\node_modules\node-sass\lib\index.js:14:35)
    at Module._compile (module.js:397:26)
    at Object.Module._extensions..js (module.js:404:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> ([..]\node_modules\gulp-sass\index.js:187:21)
    at Module._compile (module.js:397:26)

You can see the from the error above that the cause was from a version mismatch on the bindings for nodejs.

Node Sass could not find a binding for your current environment: Windows 32-bit with Node.js 5.x

Found bindings for the following environments: - Windows 64-bit with Node.js 6.x

The solution I found was to

  • Install the nodejs windows version,
  • Add path for node js (C:\Program Files\nodejs) in External Web Tools (see Rob Scott's answer),
  • Move nodejs path above $(PATH).
Dehumidifier answered 23/2, 2017 at 3:49 Comment(0)
F
2

This worked for me Deleting node_modules and then restoring packages from IDE and then npm rebuild node-sass

Faze answered 16/3, 2017 at 0:30 Comment(0)
K
2

node-sass runs an install script to download the required binary. If there are no environment variables, .npmrc variables or process arguments set then the binary is determined by using the current process platform, architecture and Node ABI version. Therefore, if you run node install in one application and then try to run node-sass in an application with a different platform/architecture/ABI, the binary won't have been downloaded. The solution is to manually download the binary or to fix the binary version using an environment variable (SASS_BINARY_NAME) or a .npmrc variable (sass_binary_name)

You can see the logic for this in the getBinaryPath function in node-sass\lib\extensions.js

Key answered 19/4, 2017 at 9:21 Comment(0)
E
2

I had to first choose the new default node version nvm use *** or nvm install *** and then remove all in node_modules in the project and npm i again.

Elgar answered 21/9, 2018 at 8:41 Comment(0)
C
2

Just run the comment thats it.

npm rebuild node-sass

enjoy your coding...

Crawley answered 22/5, 2019 at 5:10 Comment(2)
The OP said he tried that and it didn't work. And so did I, and it didn't work for me either. Instead I had to downgrade the version of node I was running.Tapestry
Actually not on linux ubuntu 20.04.Osher
M
2

Just before removing your node_modules or clean your cache, which cost you time, try running

npm rebuild node-sass --force

in your project folder. Like mine, chance is high that your problem gets solved. In case it was not successful try the followings:

npm cache clean --force 
rm -rf node_modules 
npm install 
npm rebuild node-sass

npm start
Marney answered 9/3, 2022 at 16:34 Comment(0)
A
1

I just run npm rebuild instead of npm rebuild node-sass and issue gone.. I don't know what is the magic behind though.

Aerology answered 10/3, 2017 at 6:15 Comment(0)
B
1

Please also remember to rename the xxx.node file ( in my case win32-x64-51) to binding.node and paste in the xxx folder ( in my case win32-x64-51),

Bema answered 2/5, 2017 at 5:14 Comment(0)
S
1

I tried all the above, nothing worked, I was trying to match the node version to the node-sass version when I decided to go to the official node.js website, download the latest node version(currently v14 and I was on v12) and install it. This fixed my issue at last! It's possible that your node-sass version is ahead of your node.js version.

Swap answered 14/11, 2020 at 9:34 Comment(0)
D
1

I did all these in Linux Mint:

  • Remove node_modules
  • Ran npm install
  • Ran npm rebuild node-sass

But it didn't fix the issue and still getting the error about node-sass.

I tried running again the command for rebuilding node-sass with sudo i.e. sudo npm rebuild node-sass and it worked finally!

Divisionism answered 17/8, 2021 at 7:47 Comment(0)
C
1

I was getting this error when trying to use node-sass in docker on MacOS and none of the solutions here worked.

The error happened because I did an npm install before trying to build the docker image. The npm install was correctly pulling the MacOS version of node-sass into my node_modules and I was then copying the node_modules to my docker image running Linux. This fails because it can't run the MacOS version of node-sass on Linux.

In my case the solution was adding this to my makefile after the npm install step:

docker-compose run --rm --entrypoint "bash -c" mydockerimage "npm rebuild node-sass"
Cerebellum answered 22/3, 2022 at 17:38 Comment(1)
Hmmn I was having the error on My MacOs Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 16.x I ended up removing node_modules locally and ran the docker-comppose command. The docker was built successfully.Fellowman
B
0

Check your system: Does your system has 2 different Node.js installation?

If you install node from nodejs, the default installation directory is C:\Program Files\nodejs I had the node version 6.xx installed here.

Check your VS External web tools directory C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\External I had the node version 5.xx installed there.

One work around is :

  • Make backup of C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\External directory.
  • Copy C:\Program Files\nodejs directory content and
  • paste into C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\External Directory.
  • Delete node_modules directory from your solution.
  • Re run the project. If you get error message re run the project second time.

If that does not work

  • Delete node_modules directory from your solution.

NOTE: $ is the command prompt

$  npm install 
…
$ npm run build:dev

Rerun the project.

Bottomry answered 21/4, 2017 at 3:36 Comment(0)
D
0

For people that switched to nvm from system node, if you haven't removed the ~/.npm and ~/.node-gyp folder this problem can arise since perhaps the node version within ~/.node-gyp could be different.

In any case those folders should be removed.

Dygert answered 14/11, 2017 at 18:33 Comment(0)
L
0

Answer by @core114 suggesting Uninstalling & installing sass package again works fine for manual process but for automated deployment/CI/CD you need more generic approach. What worked for me is for Continuos deployment of different environment is :

  1. removing old node_modules using rimraf before deployment

    rimraf node_modules

  2. Updating sass package in npm package.json & committing to source control.

For next deployment it will automatically refresh sass for all environment.

Lavonnelaw answered 11/12, 2017 at 11:40 Comment(0)
S
0

The problem for me was that the Task Runner Explorer was targeting the solution of my project. When I changed to the project itself using the drop-down list, next to the Task Runner Explorer refresh button, it showed the relevant tasks.

Saloon answered 18/1, 2018 at 15:47 Comment(0)
F
0

When building a docker image and attempting to run it locally I ran into this same issue. You need to add a .dockerignore file with the following: .DS_Store .git .gitignore .idea log/* target tmp node_modules client/node_modules spec/internal/public/assets public/assets

Frore answered 17/8, 2018 at 19:35 Comment(1)
Many people will probably not get this far down in the answers, but if anyone is getting this error in building a docker image and installing node, people are probably including node_modules from their host file system by mistake (a copy . . comand). A .dockerignore file with nodes_modules within it at the root project level will resolve this.Altissimo
D
0

For me it was the maven-war-plugin that applied filters to the files and corrupted the woff files.

<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
    <webResources>
        <resource>
            <directory>dist</directory>
            <filtering>true</filtering>
        </resource>
    </webResources>
</configuration>

Remove <filtering>true</filtering>

Or if you need filtering you can do something like this:

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <webResources>
            <resource>
                <directory>dist</directory>
                <excludes>
                    <exclude>assets/**/*</exclude>
                </excludes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>dist</directory>
                <includes>
                    <include>assets/**/*</include>
                </includes>
            </resource>
        </webResources>
    </configuration>
</plugin>
Dolph answered 23/8, 2018 at 10:34 Comment(0)
B
0

I have tried all methods I've found.

I have noticed some strange behavior of that folder. When I was trying to "cd" to 'node_sass' folder from VS terminal, it told that "Folder was not found", but was seen in Finder.

chmod from VS terminal haven't find folder even with 'sudo' command.

I have chmod-ed from native MacOs terminal and just after have rebuild with node.

Bellerophon answered 7/11, 2018 at 18:3 Comment(0)
U
0

I fixed this by changing JAVA_HOME from x86 to x64. Maven was running on x86 but node was using x64. Remove /node and /node_modules and build again.

Uptake answered 14/2, 2019 at 17:4 Comment(0)
G
0

Please write below command on Root Folder.

npm rebuild node-sass

100% works...

Gyno answered 26/6, 2019 at 11:53 Comment(1)
Actually not on linux ubuntu 20.04 .Osher
S
0

This is something that may not happen to anyone else, but in my case, this error appeared when I decided to restart my project (to follow a different vue.js tutorial).

The steps that created my problem was:

# move my existing project
mv project-name project-name-old
# create a new project
vue create project-name
# run server
npm run server

The problem was that my previous server was still running on a different terminal tab. On localhost:8080, the page that was still showing was the old project.

All I had to do was shut down the old server in the terminal and execute "npm run serve" again (or view localhost:8081).

Just in case this confounds someone else for half an hour, or for laughs and giggles.

Sicular answered 27/7, 2019 at 9:25 Comment(0)
P
0

remove the /node-modules folder and install it again or run the gradle task deploy after it removed

/Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node

It solves your problem.

Polak answered 17/12, 2019 at 16:59 Comment(0)
D
0

Windows 10 This was a fun one for me... In order to resolve it I had to do all of the following.. 1.) Apparently node-sass isn't supported by some of the more recent versions of Node.js so I had to Uninstall Node-v 12.14.1, and delete the nodejs directory in C:/Program Files. 2.) Reinstall a earlier version of Node (for me 10.16.2 worked). NOTE: I had initially downloaded the x86 version so if your System is x64 download the x64 verison... 3.) From here I had to delete my entire project and re-clone it. After this things ran fine.

Donation answered 29/1, 2020 at 18:6 Comment(0)
O
0

On linux ubuntu 20.04 I needed few steps,downgrade node first to apropriate version,remove node_modules,run yarn install and finally run sudo yarn add [email protected] --force.Node version 10.0.0. Only working way for me.

Osher answered 31/1, 2021 at 12:47 Comment(0)
D
0

Check if your version of npm is the same that you project require to

Dermal answered 22/2, 2021 at 17:40 Comment(0)
S
0

In my case, I found that the node-sass version in package-lock.json was different from the node-sass version in package.json. This steps solves my problem.

  1. delete folder node-modules
  2. delete package-lock.json
  3. install python 2.7
  4. add C:/Python27;C:/Python27/Scripts to Environment Variable -> Path
  5. in Powershell, run as administrator -> npm install -g node-gyp
  6. in my working folder -> npm install

Hope this works for you too

Spielman answered 2/3, 2021 at 3:41 Comment(0)
P
0

I, just for adding i was on Windows and i resolved my issue by removing the node-sass entry in my user's node_module folder (C:/users/$username/node_modules/node_sass )

Rebuilding and removing node_sass did nothing before and now my issue is resolved !

Polytypic answered 3/11, 2021 at 9:8 Comment(0)
O
0

Further to Abdelsalam Megahed's brief answer, which contained most of the solution... (i.e. view his answer and do that first)

After following the four short steps Abdelsalam suggested, I ran npm run dev and received the following message:

Failed to load C:\path\tsconfig.json: Missing baseUrl in compilerOptions

The final step was to edit the tsconfig.json file and add "baseURL": ".",, under "compilerOptions":, like this:

"compilerOptions": {
    "baseUrl": ".",
    etc etc etc

The problem was resolved at this point.

Note: It may be necessary to hard-reset CtrlF5 the page to see the change (even with nodemon).

Olodort answered 8/12, 2021 at 16:17 Comment(0)
H
0

If you got to the end of this thread, and things are still not working. It may be silly, but try verifying if you have any of these files in your folder:

  • .node-version
  • .nvmrc

They are the culprit of why things are not working for you. Update the files with the node version, and then re-run the procedure others provided in this thread. It will work. ;)

Henriettahenriette answered 16/3, 2022 at 23:46 Comment(0)
F
0

I had this issue for a long time while locally running a build in Docker, using a node alpine image. I was using the following to create the base layer:

FROM node:19.4-alpine3.17 AS node_base
RUN apk update && \
    apk add python3 make && \
    rm -rf /var/cache/apk/*

There was one package it was missing: g++. Changing the above to the following, did the trick for me:

FROM node:19.4-alpine3.17 AS node_base
RUN apk update && \
    apk add python3 make g++ && \
    rm -rf /var/cache/apk/*

I believe this is somehow linked with the architecture of the macbook PRO with M1 chip, and I wouldn't encounter this error in other machines, but I haven't tested.

Fleda answered 12/1, 2023 at 13:4 Comment(0)
R
-1

For me, when i ran npm install it audited the installed packages and showed "found 1 high severity vulnerability" and by running

npm audit fix

did the trick. Posting if it helps someone.

Update: Sharing my error log:

ERROR in ./src/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
Error: Missing binding ..\node_modules\node-sass\vendor\win32-x64-57\binding.node
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 8.x

Found bindings for the following environments:
  - Windows 64-bit with Node.js 10.x

This usually happens because your environment has changed since running `npm install`.
....

It did ask me to

Run `npm rebuild node-sass` to download the binding for your current environment.
Residential answered 21/1, 2019 at 21:12 Comment(1)
This is not what the question is about.Selectman
T
-1

Install Xcode if you are on a mac.

Tieshatieup answered 8/7, 2019 at 9:52 Comment(0)
M
-2

For Mac:

  1. -CMD+SHIFT+G
  2. -/usr/local/lib/node-sass
  3. -right click and renamed: should still the same node-sass
  4. -then run: npm install node-sass -g

that fixed.

Maine answered 7/3, 2018 at 15:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.