npm i
를 하다가 node-gyp
에 대한 에러가 발생했다.
에러를 해결하면서 node-gyp
에 대해 정리해 두고자 한다.
공식문서에는 node-gyp에 대해 다음과 같이 이야기 한다.
node-gyp
란 노드로 작성된 크로스 플랫폼 CLI입니다. 이것을 통해 노드에서 네이티브 애드온 모듈들을 사용할 수 있습니다. 여기에는 이전에 Chromium 팀에서 사용했던 gyp-next 프로젝트의 공급본이 포함되어 있으며, Node.js 기본 애드온 개발을 지원할 수 있도록 확장되었습니다.
중요!: node-gyp 자체로는 노드를 빌드할 수 없습니다.
어려운 용어가 많다. 하나씩 살펴보자.
애드온은 프로그램 종류 중 하나이며, 특정 프로그램의 기능을 보강하기 위한 프로그램입니다. 이 중 노드 애드온은 C나 C++로 작성된 동적 링크 공유 객체입니다. 이를 노드의 require()
함수에 의해 로드 되어 일반적이 노드 모듈처럼 사용한다.
C나 C++를 노드 환경에서 이해하기 위해선 컴파일이 필요하고 이를 위해 필요한 것이 node-gyp이다.
node-gyp는 로컬 컴퓨터에서 설치된 Python, make, clang을 사용합니다.