Fiber X01
Fiber X01

Reputation: 31

i get an error related to gyp when i try to do npm install

i'm just start editing a NodeJS project, i used npm install to install all the needed libraries. but it return an error related to gyp i trying a lot of way to solve it but not work , i have python v3.9 installed , node v16.4 also , and i use windows10 .

npm ERR! code 1
npm ERR! path C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\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: C:\Program Files\nodejs\node.exe C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\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   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'C:\\Users\\fiberx\\Downloads\\teliaty2001-attachments\\cw3_tp02-MariaIchtar-master (1)\\cw3_tp02-MariaIchtar-master\\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! gyp verb cli ]
npm ERR! gyp info using [email protected]
npm ERR! gyp info 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 (C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-maste
r\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\
which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\
which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\whi
ch\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\ise
xe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\ise
xe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:195:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-maste
r\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\
which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\
which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\whi
ch\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\ise
xe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\ise
xe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:195: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 C:\Users\fiberx\AppData\Local\Programs\Python\Python39\python.EXE
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: C:\Users\fiberx\AppData\Local\Programs\Python\Python39\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3
];
npm ERR! gyp ERR! stack   File "<string>", 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:397:12)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:394:28)
npm ERR! gyp ERR! stack     at maybeClose (node:internal/child_process:1067:16)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
npm ERR! gyp ERR! System Windows_NT 10.0.19042
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\fiberx\\Downloads\\teliaty2001-attachments\\cw3_tp02-MariaIchtar-master (1)\\cw3_tp02-Mari
aIchtar-master\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd C:\Users\fiberx\Downloads\teliaty2001-attachments\cw3_tp02-MariaIchtar-master (1)\cw3_tp02-MariaIchtar-master\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.4.2
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:\Users\fiberx\AppData\Local\npm-cache\_logs\2021-11-14T09_49_21_736Z-debug.log

can you please help me solve it ?

Upvotes: 2

Views: 5028

Answers (1)

banyudu
banyudu

Reputation: 1092

It's node-sass which causes your npm install error.

Reason:

node-sass is an npm package that builds with C/C++ and needs to install pre-built binary or compile from source after install.

In your case, the pre-built binary is not successfully downloaded, so npm tries to build node-sass from source code, which requires python2. But your system doesn't have python2 installed.

Solution:

To fix this, you have 3 options:

  1. Fix your network configuration (to download the prebuilt file from Github) or change node-sass prebuilt binary site with sass_binary_site, for example in China you can try the Taobao mirror: sass_binary_site=https://npm.taobao.org/mirrors/node-sass. If npm can download the prebuilt file, it won't compile it anymore.
  2. Install python2.
  3. Change your npm dependency from the c/c++ node-sass to a pure javascript alternative such as sass.

Upvotes: 1

Related Questions