[Node] gyp ERR! build error

Hyojin Kwon·2022년 9월 19일
0

mac os update 후 혹은 새로 개발환경을 세팅하는 경우
node modules 설치 시 아래 에러 발생하는 경우가 간혹 있다.

gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/debby/Desktop/_workspace/SparkFelice/homepage/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Darwin 21.6.0
gyp ERR! command "/opt/homebrew/Cellar/node/18.9.0/bin/node" "/Users/debby/Desktop/_workspace/SparkFelice/homepage/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/debby/Desktop/_workspace/SparkFelice/homepage/node_modules/node-sass
gyp ERR! node -v v18.9.0

node-gyp 공식 깃허브를 보면
https://github.com/nodejs/node-gyp

node-gyp is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js.

node-gyp 는 C 나 C++ 로 작성된 native moduels 을 nodejs 에서 사용할 수 있도록 컴파일 해주는 도구로

native 코드에서 nodejs 모듈을 사용하려는 경우, 해당 모듈을 사용자 환경에 맞게 install 시점에 다시 빌드하여 설치해준다.

따라서 rebuild 에러가 났다면 어떤 모듈을 사용자의 환경에 맞게 컴파일하려다 실패한것으로 보면 된다.

가장 쉬운 해결방법은 XCode 를 설치하는 것이지만,
XCode 에는 네이티브 애플리케이션을 만들 수 있는 모든 개발 환경 구성을 위한 GCC, make, svn, git, perl, LLVM 컴파일러 등의 도구를 포함하기 때문에 굉장히 무겁다. (~7.6 GB)

따라서 커맨드 라인 명령어만 사용하고 싶을 경우 XCode Command Line Tools 만 설치해주면 된다.

맥에는 기본적으로 XCode Command Line Tools 가 설치되어 있으나, 위 에러가 발생하는 경우 해당 도구를 삭제하였다가 다시 설치하면 대부분의 경우 문제가 해결된다.

sudo rm -rf /Library/Developer/CommandLineTools // 도구 삭제
xcode-select --install // 재설치

재설치는 네트워크환경에 따라 다르겠지만 생각보다 오래걸리므로 시간이 넉넉할때 하는게 좋다.. (나의 경우 20분 내외)

하지만 나의 경우, 재설치 했음에도 문제가 해결되지 않아
공식 깃허브의 On macOS 을 참고하였다.
https://github.com/nodejs/node-gyp/blob/main/macOS_Catalina.md

0개의 댓글