158

I have tried to install gulp-sass latest version with npm i gulp-sass --save-dev in the begining I got a lot of errors but later solved them. But whenever I try to run gulp I got this error:

Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (88)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
    at module.exports (C:\Users\user\Desktop\HPortf\node_modules\node-sass\lib\binding.js:13:13)
    at Object.<anonymous> (C:\Users\user\Desktop\HPortf\node_modules\node-sass\lib\index.js:14:35)
    at Module._compile (node:internal/modules/cjs/loader:1083:30)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
    at Module.load (node:internal/modules/cjs/loader:948:32)
    at Function.Module._load (node:internal/modules/cjs/loader:789:14)
    at Module.require (node:internal/modules/cjs/loader:972:19)
    at require (node:internal/modules/cjs/helpers:88:18)
    at Object.<anonymous> (C:\Users\user\Desktop\HPortf\node_modules\gulp-sass\index.js:166:21)
    at Module._compile (node:internal/modules/cjs/loader:1083:30)

I have tried to fix the problem with npm rebuild node-sass --force but it rise error too.

PS C:\Users\user\Desktop\HPortf> npm rebuild node-sass --force
npm WARN using --force I sure hope you know what you are doing.

> node-sass@4.14.1 install C:\Users\user\Desktop\HPortf\node_modules\node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-88_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-88_binding.node":

HTTP error 404 Not Found

Hint: If github.com is not accessible in your location
      try setting a proxy via HTTP_PROXY, e.g.

      export HTTP_PROXY=http://example.com:1234

or configure npm proxy via

      npm config set proxy http://example.com:8080

> node-sass@4.14.1 postinstall C:\Users\user\Desktop\HPortf\node_modules\node-sass
> node scripts/build.js

Building: C:\Program Files\nodejs\node.exe C:\Users\user\Desktop\HPortf\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   'C:\\Program Files\\nodejs\\node.exe',
gyp verb cli   'C:\\Users\\user\\Desktop\\HPortf\\node_modules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@15.0.1 | win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21)
gyp verb `which` failed  python2 Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` failed Error: not found: python
gyp verb `which` failed     at getNotFoundError (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21)
gyp verb `which` failed  python Error: not found: python
gyp verb `which` failed     at getNotFoundError (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\Users\user\Desktop\HPortf\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp verb could not find "python". checking python launcher
gyp verb could not find "python". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\user\Desktop\HPortf\node_modules\node-gyp\lib\configure.js:484:19)gyp ERR! stack     at PythonFinder.<anonymous> (C:\Users\user\Desktop\HPortf\node_modules\node-gyp\lib\configure.js:509:16) 
gyp ERR! stack     at callback (C:\Users\user\Desktop\HPortf\node_modules\graceful-fs\polyfills.js:295:20)
gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:183:21)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\user\\Desktop\\HPortf\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\Users\user\Desktop\HPortf\node_modules\node-sass
gyp ERR! node -v v15.0.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
node-sass@4.14.1 C:\Users\user\Desktop\HPortf\node_modules\node-sass
PS C:\Users\user\Desktop\HPortf>
  • node and npm version
$ node --version
v15.0.1
user (master *) HmdPort
$ npm --version
6.14.8
DINA TAKLIT
  • 7,074
  • 10
  • 69
  • 74
  • 4
    So did you go to https://github.com/sass/node-sass/releases/tag/v4.14.1? That hasn't been built for Node 15, you'll have to downgrade Node until [v5](https://github.com/sass/node-sass/releases/tag/v5.0.0) gets released. – jonrsharpe Oct 30 '20 at 17:05
  • you mean I should install a version less than node 15? – DINA TAKLIT Oct 30 '20 at 17:07
  • Yes, exactly. Unless you really need some specific feature I'd generally recommend using the active LTS version (listed on the [home page](https://nodejs.org/en/) as *"Recommended For Most Users"*), currently v14. – jonrsharpe Oct 30 '20 at 17:08
  • I got you I installed current version of node I need to install LTS version, I will try and see. – DINA TAKLIT Oct 30 '20 at 17:10
  • Thank you @jonrsharpe it was a node version problem I have donwload stable version and I have delete node_module and reinstall things and worked well, you can post and answer so others take advantages of it, again thank you so much for paying my attention to it. – DINA TAKLIT Oct 30 '20 at 18:08
  • the [node-sass](https://www.npmjs.com/package/node-sass) project itself states, that it is deprecated and recommends to move to dart-sass. In the context of Gulp the [answer](https://stackoverflow.com/a/65050165/2776727) of @ClovisRosa manages it gracefully. – Andreas May 18 '21 at 16:44

20 Answers20

190

Thanks to jonrsharpe.

Worked for me:

  1. install / downgrade node.js to a stable version (LTS) like 14.15.0
  2. install the compatible node-sass version via npm install node-sass@4.14.0; you can find the list here, or even install gulp-sasswith npm i gulp-sass --save-dev.

direct link to list

DINA TAKLIT
  • 7,074
  • 10
  • 69
  • 74
paulrezmer
  • 1,924
  • 1
  • 5
  • 2
  • 2
    Yes the problem was with current version of node that has some bugs, so installing LTS version will fix the issues than you can install gulp sass without installing node-sass without precising a version coz the latest one is compatibel with LTS node version :) – DINA TAKLIT Nov 02 '20 at 12:34
  • 1
    Current node version 15.X does not supported by some node-modules. Had to spend much time to review each node-module and decided to downgrade node version. thanks for your posting. – stevec Jan 08 '21 at 08:34
  • 1
    In the link you give to the node-sass entry on npm, what is the difference between "NodeJS" and "Node Module". How do I install a specific version of "Node Module"? – Code-Apprentice Jan 25 '21 at 22:55
  • 4
    Does not work on MAC M1. Nothing works on MAC M1 :') – crg May 18 '21 at 22:05
  • 4
    Its end of 2021 and the error still exists even for the Node LTS version 16! Precisely: "Unsupported runtime (102)". Also, node-sass v6.0.1 doc says it is compatible with v16 on Linux – Moongazer Nov 16 '21 at 15:37
  • This solution worked for me on MacBook Pro (Big Sur) 64-bit – Sivuyile Shasha Jan 21 '22 at 11:30
  • yes, I had installed the latest node version v17.x, and this problem solved only when I change my node version to 14. on mac you can use brew install node@14 – ryanlee Jan 25 '22 at 06:44
  • `14.15.1` has worked also. – am0wa Feb 03 '22 at 18:07
113

None of the above worked for me. So, instead I uninstalled node-sass and installed just sass. No more errors!

npm uninstall node-sass
npm i sass
Melissa Heying
  • 1,302
  • 1
  • 4
  • 4
  • wfm after my edit to crg’s answer – macOS 10.15.7 (if that matters) – silvalli Jul 30 '21 at 04:37
  • This seems to work for me as well. My Vue2 environment failed to start with "npm run watch" after I upgraded npm & node so that I could start building Vue3 projects. Removing node-sass on Vue2 project and replacing it with sass fixed running watch/serve – Janne Aug 13 '21 at 05:45
  • 3
    Plus [sass](https://www.npmjs.com/package/sass) is now the recommanded package since [LibSass and Node Sass are deprecated](https://www.npmjs.com/package/node-sass) . – Ousmane Feb 19 '22 at 15:22
  • Thought I'd try this first before downgrading NodeJS, I'm very happy I did! I had 120 errors before, fixed all of them. +1 – JackWilson Aug 17 '22 at 06:26
  • After doing this it just asks for node-sass again. – NickJ Dec 17 '22 at 23:00
  • Other answers didn't work for me but this solved the problem. (MacOS M1 chip) – CS Student May 23 '23 at 12:50
55

This command in the console worked for me:

npm rebuild node-sass
Abdullah Aman
  • 1,314
  • 11
  • 11
  • I was working with node v16.x and updated to v18.16.0, didn't solve the issue but I used this command line and it works! I'm on MacOs Ventura 13.3 – Mister Q Apr 19 '23 at 13:32
40

Warning: LibSass and Node Sass are deprecated. While they will continue to receive maintenance releases indefinitely, there are no plans to add additional features or compatibility with any new CSS or Sass features. Projects that still use it should move onto Dart Sass.

the node-sass package is deprecated.

Instead install sass instead like this:

yarn add sass -D
# or
npm i sass --save-dev
Jerry
  • 70,495
  • 13
  • 100
  • 144
Anatol
  • 3,720
  • 2
  • 20
  • 40
25

remove node-sass

npm remove node-sass

then install

npm i node-sass@npm:sass -D

Node sass project is deprecated. Don't use it anymore!

https://sass-lang.com/blog/libsass-is-deprecated

The new project uses Dart. https://sass-lang.com/dart-sass

Richard Torcato
  • 2,504
  • 25
  • 26
18

Firstly uninstall

npm uninstall node-sass

then install

npm i sass

this will work definitely

12

I ran to the same problem and I found that the best solution is to use gulp-dart-sass. You won't need to downgrade your Node.js(I'm using it with Node version: v15.3.0 right now)

Simple replace gulp-sass to gulp-dart-sass

Clovis Rosa
  • 147
  • 7
  • 1
    Sometimes the non stable version create many problems. Even if u can manage this problem with this command u may face other problems, you will spend ur life fixing errors! this is bad. So it is alwyas better to install a stable version. – DINA TAKLIT Dec 01 '20 at 12:13
  • 1
    This is actually a super solution, as the [node-sass](https://www.npmjs.com/package/node-sass) project itself is deprecated now and recommends to move to dart-sass officially. – Andreas May 18 '21 at 16:45
7

I encountered the same issue after updating my Node.js version from 14.15.5(LTS) to 15.8.0.
In order to resolve this issue I downgraded Node.js version back to 14.15.5(LTS).

I used chocolatey to downgrade NPM. If you don't have chocolatey installed in your system,
you can get Chocolatey from here.

Now to downgrade Node.js we have to do the following steps

  1. Uninstall latest version of the Node.js
    For that you have to use this code.
    choco uninstall nodejs

  2. To install the desired version of Node.js,
    choco install nodejs --version $VersionNumber

in my case,
choco uninstall nodejs
choco install nodejs --version 14.15.5

this solved my issue.

AMAL MOHAN N
  • 1,416
  • 2
  • 14
  • 26
4

Worked for me

  1. npm install with specific node version that you need

    This the version of node that I am using

    npm install -g npm@6.14.6 --target_arch=x64

  2. Clean cache

    npm cache clean --force

    rm -rf /node_modules

  3. Install node-sass

    npm install node-sass --save-dev --force

  4. If you have errors and warnings try:

    npm fund

    npm audit fix

    npm install -g npm@6.14.6 --target_arch=x64

    npm start

2

I met the same issue, and here's how I was able to fix it:

Firstly, you have to know which node-sass version you are using in your project, then go upgrade or downgrade your current nodeJS version to the compatible version with your current node-sass version, you can know that from this link.

Ofc, stop the server, and close your IDE.

So, the best way to upgrade or downgrade the nodeJS version, has mentioned above in this answer, then remove the node_modules, and package-lock.json and install again.. You can do it as such:

npm cache clean --force

rm -rf /node_modules package-lock.json

npm install

npm audit fix

npm run <your_script_name>

Good Luck!

Ibrahim BHMBS
  • 379
  • 3
  • 6
2

For me, the issue happened after I updated my node version to 16, I downgraded the node version to 14.17.6 and had to uninstall the node-sass version 6 and reinstall node-sass version 4.14 which is compactible with node 14+

npm uninstall node-sass
npm i node-sass@4.14
Ousmane
  • 2,673
  • 3
  • 30
  • 37
ApPy
  • 21
  • 1
1

For me the only solution was to downgrade NodeJs from 16(my current version) to 10 version (it can be any version below probably), tried almost all that were advised here and on other websites and only this helped.

1
  1. In my case I removed node-sass with npm remove node-sass

  2. then I installed node-sass npm i node-sass@next

  3. restarted server

  • Hurray! everything worked fine *
feliciano
  • 3
  • 1
Ruban Dharmaraj
  • 985
  • 1
  • 8
  • 11
0

Here are the steps I followed to make it work.

  • brew uninstall node (Or uninstall with the package manager you used)
  • brew install n
  • sudo chown -R $(whoami) /usr/local/n
  • n 14.15.0
crg
  • 4,284
  • 2
  • 29
  • 57
0

For any1 having this problem with SPFx

If you have upgraded your node version, steps to upgrade your SPFx solution

  1. Create a side clean SPFx project (Webpart or Extension (Extension is only with 2019+))

  2. Save somewhere (just in case) the following files package.json, tsconfig.json, package-lock.json

  3. Copy from your new project to your old project only 2 files package.json, tsconfig.json

  4. Run gulp clean

  5. Run npm install

  6. Run gulp build ect.

summerized here

bresleveloper
  • 5,940
  • 3
  • 33
  • 47
0

I am late to the party but what I did is install nvm and add a small function in .bashrc to change node version as I need using an alias.

function switchNodeVersion()
{
  nvm use 14.6.0
  node-sass [options] <input.scss> [output.css]
  nvm use 16.13.0
}
alias swap=switchNodeVersion
Dragod83
  • 2,127
  • 3
  • 17
  • 20
0

Try to install nvm on your machine to switch between various node versions to suit the projects that are using downgraded versions of node.

Then using this capability you can essentially switch between the node versions on your machine.

Here is a great guideline for achieving this. Setting Up NVM

Another option is to switch between the different node versions you have installed by adding the specific node version you want your project to use:

package.json

{
  "name": "myproject",
  "version": "1.0.0",
  "private": true,
  "engines": {
    "node": "16.x"
  },
  "dependencies": {....

Then once your node versioning issue is corrected, you can install node-sass..but keep in mind some node-sass versions will not be compatible with deprecated versions of node and vice versa.

But in general, if you want to avoid version issues with your dependencies, use docker and dockerize your projects into containers. It will save you a lot of time.

RileyManda
  • 2,536
  • 25
  • 30
0

in my case it was the node version witch had to be 14 and i was at 16

0

I was also having the same issue (WINDOW) -Fixed for me after following the below steps.

  1. Open the Gitbash terminal.
  2. source ~/.nvm/nvm.sh
  3. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  4. command -v nvm

Fixed issue for me, I could see nvm installed :)

Vinod Kumar
  • 1,191
  • 14
  • 12
0

node-sass-middleware is deprecated. In place of this install sass-middleware.

npm uninstall node-sass-middleware

npm install sass-middleware

const sassMiddleware = require('sass-middleware');

const path = require('path');

const sassMiddlewareOptions = {
  src: path.join(__dirname, 'sass'),
  dest: path.join(__dirname, 'public/stylesheets'),
  debug: true,
  outputStyle: 'compressed'
};


app.use(sassMiddleware(sassMiddlewareOptions));

Now you are good to go.

Atif
  • 121
  • 1
  • 4