본문 바로가기

Web/Javascript|TypeScript

[node] node-gyp Error

반응형

gyp.. 사랑과 증오가 담긴 단어이다.

GYP는 빌드 자동화 도구이며 파이썬으로 작성된 메타 빌드 시스템이다.

우리에게 많은 것을 가능하게 해주는 빌드툴이지만 나같은 보통의 개발자 같은 경우 잘 안보는 툴이다.하지만 우리가 사용하는 거의 모든곳의 베이스가 되는 node-gyp..

 

그래서 node를 시작하면 처음으로 접하는 error가 node-gyp 관련 에러인 경우가 많다.

 

python기반이므로 node-gyp error는 python 관련된게 많으며,

 

node-gyp의 버전에 따라 pyhtno 3.x 이나 python 2.7.x 를 요청하는 경우가 있는데,

 

환경에 따라 이제 에러가 나는것이다.

 

실질적으로 npm에 들어가서 조회를 해보는 경우

 

버전마다 요청하는 python의 버전이 다르다.

 

https://www.npmjs.com/package/node-gyp

 

node-gyp

Node.js native addon build tool. Latest version: 8.4.1, last published: 3 months ago. Start using node-gyp in your project by running `npm i node-gyp`. There are 1136 other projects in the npm registry using node-gyp.

www.npmjs.com

그러므로 node-gyp 관련 Error가 나는 경우

해당 라이브러리에서 요구하는 node-gyp의 버전과 내가 가지고 있는 python의 버전을 확인하는것이 제일 1순위여야한다.

 

대략적으로 보면 아래 에러코드에서 중점적인것은 python 과 node-gyp

gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "C:\Users\AppData\Local\Programs\Python\Python36-32\python.EXE", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (C:\works\react-hls\node_modules\node-gyp\lib\configure.js:483:19)
gyp ERR! stack     at PythonFinder.<anonymous> (C:\works\react-hls\node_modules\node-gyp\lib\configure.js:508:16)
gyp ERR! stack     at C:\works\react-hls\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqCallback.oncomplete (fs.js:192:21)
gyp ERR! System Windows_NT 10.0.19042
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\works\\react-hls\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="     
gyp ERR! cwd C:\works\react-hls\node_modules\node-sass
gyp ERR! node -v v14.17.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
Build failed with error code: 1
npm WARN rollback Rolling back yargs-parser@5.0.0 failed (this is probably harmless): EPERM: operation not permitted, rmdir 'C:\works\react-hls\node_modules\sass-graph\node_modules'
npm WARN sass-loader@7.0.1 requires a peer of webpack@^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.2 (node_modules\webpack\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.3 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.9.0 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.9.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\AppData\Roaming\npm-cache\_logs\2022-02-28T06_52_41_030Z-debug.log

 

보면 node-gyp의 version은 3.6.2이다.

npm 에서 확인해보면 on unix 등등을 보면 python v2.7 만 지원한다. v3.x 는 지원 안함..

반대로 node-gyp 8.x대부터는 python v2.7

즉 2022년이지만 python v2.7 를 install 하러간다.. ㅠㅠ

 

또한 윈도우 환경에서 개발할 경우 옛날버전이면 windows-build-tools 를 설치해야한다. (최신버전들은 지원을 안한다랄까? 필요없다.)

# 관리자모드 파워쉘에서 해줘야한다.
npm install --global --production windows-build-tools

관리자 모드에서 안하면 아래와 같이 에러가 난다. 

Please restart this script from an administrative PowerShell!
The build tools cannot be installed without administrative rights.
To fix, right-click on PowerShell and run "as Administrator".
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! windows-build-tools@5.2.2 postinstall: `node ./dist/index.js`
npm ERR! Exit status 1

 

node-gyp 다른 글

https://24hours-beginner.tistory.com/300

 

[JS] ubuntu 18.04 npm install Error (feat. gyp)

(AWS EC2) ubuntu 18.04 에서 npm install을 하니 error가 주구장창 나온다. npm version 8.5.0 node version v16.14.0 해결 https://24hours-beginner.tistory.com/21 Ubuntu 18.04 node-gyp rebuild error https..

24hours-beginner.tistory.com

https://24hours-beginner.tistory.com/21

 

Ubuntu 18.04 node-gyp rebuild error

window https://24hours-beginner.tistory.com/18 node-gyp rebuild error (window) ubuntu https://24hours-beginner.tistory.com/21 Ubuntu 18.04 node-gyp rebuild error https://askubuntu.com/questions/1057..

24hours-beginner.tistory.com

https://24hours-beginner.tistory.com/18

 

node-gyp rebuild error (window)

ubuntu https://24hours-beginner.tistory.com/21 Ubuntu 18.04 node-gyp rebuild error https://askubuntu.com/questions/1057737/ubuntu-18-04-lts-server-npm-depends-node-gyp-0-10-9-but-it-is-not-going = 0..

24hours-beginner.tistory.com

 

반응형