V
V
vasya20042020-12-02 15:22:40
Node.js
vasya2004, 2020-12-02 15:22:40

What is the difference between node-sass and gulp-sass?

Hi all! Stupid question, but what is the difference between gulp-sass and node-sass for npm installation in gulp?
The question originally came from a bug when installing gulp-sass into a build:

D:\SM\Layout\s\s1>npm i gulp-sass --save-dev
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm ERR! code 1
npm ERR! path D:\SM\Layout\s\s1\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c "node scripts/build.js"
npm ERR! Building: D:\Programs\node.exe D:\SM\Layout\s\s1\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli 'D:\\Programs\\node.exe',
npm ERR! gyp verb cli 'D:\\SM\\Layout\\s\\s1\\node_modules\\node-gyp\\bin\\node-gyp.js',
npm ERR! gyp verb cli 'rebuild',
npm ERR! gyp verb cli '--verbose',
npm ERR! gyp verb cli '--libsass_ext=',
npm ERR! gyp verb cli '--libsass_cflags=',
npm ERR! gyp verb cli '--libsass_ldflags=',
npm ERR! gyp verb cli '--libsass_library='
npm ERR!
npm ERR! gyp info using [email protected]
npm ERR! gypinfo using [email protected] | win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed at getNotFoundError (D:\SK\Layout\s\s1\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (D:\SM\Layout\s\s1\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (D:\SM\Layout\s\s1\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at D:\SM\Layout\s\s1\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at D:\SM\Layout\s\s1\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed at D:\SM\Layout\s\s1\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:183:21)
npm ERR! gyp verb `which` failed python2 Error: not found: python2
npm ERR! gyp verb `which` failed at getNotFoundError (D:\SM\Layout\s\s1\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (D:\SM\Layout\s\s1\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (D:\SM\Layout\s\s1\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at D:\SM\Layout\s\s1\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at D:\SM\Layout\s\s1\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed at D:\SM\Layout\s\s1\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:183:21) {
npm ERR! gyp verb `which` failed code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` succeeded python D:\Python\Python38-32\python.EXE
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: D:\Python\Python38-32\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack File "", line 1
npm ERR! gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack^
npm ERR! gyp ERR! stack SyntaxError: invalid syntax
npm ERR! gyp ERR! stack
npm ERR! gyp ERR! stack at ChildProcess.exithandler (node:child_process:309:12)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:327:20)
npm ERR! gyp ERR! stack at maybeClose (node:internal/child_process:1055:16)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit(node:internal/child_process:288:5)
npm ERR! gyp ERR! System Windows_NT 10.0.18363
npm ERR! gyp ERR! command "D:\\Programs\\node.exe" "D:\\SM\\Layout\\s\\s1\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd D:\SM\Layout\s\s1\node_modules\node-sass
npm ERR! gyp ERR! node -v v15.1.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR! C:\User\Comp\AppData\Local\npm-cache\_logs\2020-12-02T12_02_52_602Z-debug.log

In an attempt to find a solution on the Internet, I saw,
So what is their difference and how to fix this error? Thanks in advance

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Sergey delphinpro, 2020-12-02
@delphinpro

How common is this node-sass error question...
Install Python 2 on your machine.
Install separately globally node-gyp (npm i -g).
And the node-sass package will build fine.
If build speed is not very important, or if you want to use the latest sass features, use the original dart-sass instead of the node-sass port. It is the official compiler, it is updated more often and is written exclusively in javascript (more precisely, on Dart, but not the essence, the javascript compiler). There will be no problems with it, except for a drawdown in build speed.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question