본문 바로가기

카테고리 없음

Node.js 소스코드 빌드 하기

 
전 mac 유저여서 아래 링크를 참고했슴다 (리눅스, 윈도우도 있음)
https://github.com/nodejs/node/blob/main/BUILDING.md#macos-prerequisites

node/BUILDING.md at main · nodejs/node

Node.js JavaScript runtime ✨🐢🚀✨. Contribute to nodejs/node development by creating an account on GitHub.

github.com

 
그럼 나의 Node 빌드 여정을 풀어보겠음,,
참고로 여기서 Node 빌드하겠다는 건, 찐 Node 레포의 소스코드를 클론 받아서 빌드 해보겠다는 것임

 


일단 macOS 기준으로 Node 를 빌드하기 위한 prerequisites 이 아래와 같이 나와 있음

 
 
여기서 든 의문.. Xcode 는 iOS 앱 빌드에만 쓰이는건줄 알았는데 Node 빌드할 때 왜 필요한걸까 ㅇㅅㅇ..? 
하고 찾아보니까..
 
 
Xcode Command Line Tools 는 Node 빌드하기 위해 필요한 컴파일러 및 기타 도구가 포함되어 있다 함!
...
Node 소스 코드구성을 보면, C/C++ 로 작성된 부분이 많음

출처: https://blog.softup.co/node-js-internals-an-introduction-to-nodes-runtime-and-architecture/


그래서 이 C/C++ 을 컴파일 하기 위한 컴파일러가 필요한데, 이것을 Xcode Command Line Tools 에서 제공해준다는 것임!
더불어 make 이라는 빌드 도구도 제공한다 함! 
 

엑쓰커맨드라인툴..너 좋은놈이군..

 
 
 
설치 완료했으니, 이제 빌드를 해볼 것임
빌드 명령어는 아래와 같음 
(아까 위에서 make 이라는 빌드 도구도 제공한다고 했는데, 여기서 명령어로 바로 쓰이는 걸 볼 수 있음)

./configure
make -j4

 
잠깐! make -j4 입력하기 전에!!! 명령어 앞에 time 붙여서 입력해보세요.
time make -j4  이렇게,,
빌드 소요 시간도 같이 출력됨.
(알려줘서 고마워 짓피티-✨)
 
 
나는 결과적으로 아래와 같이 소요 시간이 출력됨
0.01s user 0.23s system 0% cpu 30:33.33 total
 
 
뒤에 total 부분만 보면 돼서 약 30분 33초 걸렸다는 것을 알 수 있음
 
 
문제 없이 빌드 됐는 지 확인하기 위해 test 도 돌려보겠음.
명령어는 아래와 같음.

make test-only

 
 
 
출력 결과는!!!!

 
모든 test 패쓰했고 total 부분을 보면 8분 47초가 걸렸다는 걸 알 수 있음
 
 
 
 
내 빌드 환경을 공유하자면 아래와 같음

1. 운영체제
MacBook Air M2 / macOS 14.4.1 / Memory 8GB 
2. Xcode Command Line Tools 버전
v14.3.1.0.1.1683849156
3. 빌드한 노드 버전
v23.0.0-pre

 
 
 
그럼 바이바이.