본문 바로가기
React

Node.js 설치하기

by Benihs 2024. 11. 17.

Node.js 란?

Node.js는 오픈 소스, 크로스 플랫폼 런타임 환경으로, 서버 측에서 JavaScript를 실행할 수 있게 해 준다.

원래 JavaScript는 웹 브라우저에서 클라이언트 측 스크립팅 언어로 설계되었지만,

Node.js는 이를 브라우저 외부에서도 실행할 수 있도록 해준다.

 

Node.js의 주요 특징

  1. V8 JavaScript 엔진 기반: Node.js는 Google의 Chrome 브라우저에서 사용되는 V8 JavaScript 엔진 위에서 실행된다.
  2. 비동기 I/O와 이벤트 기반 아키텍처 : 비동기(Asynchronous) 프로그래밍 모델을 채택하여 대규모 요청을 처리할 수 있다. 이벤트 기반으로 작동하므로 서버가 많은 클라이언트의 요청을 동시에 처리할 수 있다.
  3. 싱글 스레드(Single-threaded) : Node.js는 단일 스레드로 동작하지만, libuv를 통해 비동기 작업(파일 읽기/쓰기, 네트워크 요청 등)은 백그라운드에서 처리한다.
  4. 모듈 기반 설계:  Node.js는 내장 모듈과 커뮤니티에서 제공하는 npm(Node Package Manager)를 통해 다양한 라이브러리를 제공한다. npm은 세계 최대 규모의 오픈 소스 라이브러리 저장소다.

 

Node.js의 단점

  1. 싱글 스레드 한계: CPU 집약적인 작업에는 적합하지 않으며, 복잡한 연산이 많을 경우 성능이 저하될 수 있다.
  2. 콜백 헬(Callback Hell) : 비동기 처리 시 콜백이 중첩되면서 코드가 복잡해질 수 있습니다. 이를 해결하기 위해 Promiseasync/await이 도입되었다.

Node.js 설치

Node.js를 설치하기 위해 Node.js 사이트로 들어간다

node.js 화면

사이트로 들어가자마자 다운로드 버튼이 나온다.

현재 최신 버전인 22.11.0을 LTS(Long-Term-Support)로 바로 다운로드할 수 있게 해 준다.

다양한 다른 버전을 다운로드하고 싶다면 위 탭에 Download를 누른다.

node.js Download 화면

그럼 바로 Download Node.js 화면이 나온다.

아래엔 4가지 탭이 존재하는데 무엇을 의미하는지 알아보자.

 

  • Package Manager
    • 이 탭은 패키지 관리자를 사용하여 Node.js를 설치하는 방법을 설명한다.
    • 이미지에서는 fnm(Fast Node Manager)을 이용한 Windows 환경에서 Node.js를 설치하는 방법을 보여준다.
  • Prebuilt Installer
    • Node.js 설치 관리자를 제공한다.
    • 사용자가 직접 실행 파일(. exe 또는. pkg)을 다운로드하고 설치할 수 있는 옵션을 포함한다.
    • 간단한 설치 과정을 선호하는 사용자에게 적합하다.
  • Prebuilt Binaries
    • Node.js 바이너리 파일을 직접 다운로드할 수 있는 옵션을 제공한다.
    • 운영 체제(Windows, macOS, Linux)와 아키텍처(x64, ARM 등)에 따라 맞춤형 파일을 제공하며, 사용자가 수동으로 설치해야 한다.
    • 고급 사용자나 특정 환경에서 Node.js를 사용할 때 유용하다.
  • Source Code
    • Node.js의 소스 코드를 다운로드할 수 있는 옵션이다.
    • 최신 Node.js 기능을 사용자 정의하거나 빌드해야 하는 개발자를 위한 탭이다.
    • GitHub 저장소 링크와 함께 다양한 버전의 소스 코드가 포함되어 있다.

난 복잡한 설치과정을 거치고 싶지 않기 때문에 그냥 메인 페이지에서 다운로드해주겠다.

바로 다운로드한 node-v22.11.0-x64 파일을 열어준다.

Node.js Setup 화면

 

첫 화면엔 별 내용이 없기 때문에 바로 Next를 클릭해 준다.

License 동의 화면

License Agreement를 설명하고 수락하는 페이지이다.

라이센스에 대한 자세한 내용이 알고 싶다면 스크롤을 내리거나 Print 버튼을 눌러보면 된다.

난 필요 없으니 수락해 주고 Next를 클릭한다.

Destination Folder 화면

Node.js가 저장될 폴더를 선택하는 화면이다.

변경을 원한다면 Change 버튼을 클릭하고 난 굳이 바꿀 필요 없기 때문에 그냥 Next 클릭한다.

Custom Setup 화면

Node.js와 관련된 구성 요소를 설치할지 여부를 선택하는 화면이다.

각 옵션에 대해 간단하게 설명하면

  1. Node.js runtime
    • Node.js의 핵심 런타임을 설치하는 옵션이다.
    • Node.js 애플리케이션을 실행하는 데 반드시 필요하며, node.exe 파일이 포함된다.
    • 약 10MB의 디스크 공간이 필요하다. 기본적으로 설치하는 것이 권장됩니다.
  2. corepack manager
    • Corepack은 Node.js에서 패키지 매니저 버전을 관리하는 도구이다.
    • 예를 들어, npm, yarn과 같은 패키지 매니저 버전을 손쉽게 전환하거나 고정할 수 있도록 돕는다.
    • 최신 패키지 매니저를 필요로 하는 경우 이 옵션을 활성화하는 것이 유용하다.
  3. npm package manager
    • Node.js와 함께 설치되는 기본 패키지 매니저다. (nvm이랑 다른 것)
    • npm(Node Package Manager)은 Node.js 패키지를 설치, 업데이트 및 관리할 수 있게 해 준다.
    • 대부분의 Node.js 프로젝트에서 필수적이므로 설치를 추천해 준다.
  4. Online documentation shortcuts
    • Node.js 공식 문서 웹사이트로 바로 연결되는 바로가기(Shortcut)를 생성한다.
    • 필요에 따라 Node.js API, 튜토리얼, 가이드를 쉽게 참조할 수 있다.
    • 선택적 옵션으로, 꼭 필요한 것은 아니다.
  5. Add to PATH
    • 이 옵션은 Node.js와 npm 명령어를 시스템 환경 변수(PATH)에 추가해 준다.
    • 이를 통해 명령 프롬프트(또는 터미널)에서 node와 npm 명령어를 어디서든 실행할 수 있다.
    • 따로 직접적으로 설정하고 싶은 게 아니라면 반드시 활성화해야 Node.js를 제대로 사용할 수 있다.

옵션에 대한 설명이다. 기본 설정에서 변경하고 싶다면 옆에 직사각형 박스와 아래 화살표 있는 곳을 눌러준다.

구성요소 선택시 보이는 선택지 화면

그렇다면 이런 선택지들이 있을 텐데 이에 대하여도 간단하게 설명하자면

  1. Will be installed on local hard drive
    • 해당 기능이 로컬 하드 드라이브에 설치된다.
    • 기본적으로 선택되는 옵션, 소프트웨어가 정상적으로 동작하기 위해 반드시 설치되어야 할 주요 구성 요소에 사용된다.
  2. Entire feature will be installed on local hard drive
    • 해당 기능의 전체 구성 요소가 로컬 하드 드라이브에 설치된다.
    • 만약 기능이 여러 하위 항목으로 구성되어 있다면, 하위 항목도 모두 설치된다.
    • 예를 들어, "corepack manager"를 선택하면 corepack과 관련된 모든 파일이 설치된다.
  3. Feature will be installed when required
    • 이 기능은 설치되지 않지만, 필요할 때 자동으로 설치된다.
    • 드라이브 공간을 절약하고자 할 때 유용하지만, 해당 기능을 처음 사용할 때 추가 다운로드가 필요할 수 있다.

각자 원하는 대로 커스텀하고 나면 아래의 버튼이 다른 화면과 다르게 많다는 것을 알 수 있다.

이에 대해서도 간단히 설명하자면

 

  • Reset: 변경한 설정을 초기값으로 되돌린다.
  • Disk Usage: 각 옵션이 차지하는 디스크 용량을 확인할 수 있다.
  • Next: 설정이 완료되었으면 설치를 계속 진행한다.
  • Cancel: 설치를 중단하고 창을 닫는다.

나는 또 바로 Next를 눌러주겠다.

Tools for Native Modeules 화면

 

이 화면은 C/C++로 작성된 일부 npm 모듈을 컴파일하기 위해 추가적인 도구가 필요할 때 선택 사항을 설정하는 화면이다.

일부 npm 패키지는 네이티브 모듈을 포함하고 있어 컴파일이 필요하다.

이를 위해 일부 도구(Python과 Visual Studio Build Tools 등)의 소프트웨어가 필요하다.

밑에 체크박스는 Chocolatey라는 패키지 관리자를 함께 설치하여 위와 같은 도구를 자동으로 설치하게 할 것인지에 대한 옵션이다. 원하는 경우 GitHub 링크를 통해 직접 필요한 종속성을 설치할 수 있다고 한다.

난 귀찮기 때문에 그냥 체크해 주고 넘어간다.

Install 화면

이제 모든 준비가 끝났다 Install을 누르고 설치를 진행해 주자.

설치가 완료되면 Finsh 버튼을 눌러준다.

Node.js 설치 확인

Node.js 설치를 완료했다면 정상적으로 설치가 완료됐는지 확인해야 한다.

node -v
node --version

npm -v
npm --version

위 두 가지 명령어로 제대로 설치되었는지 확인할 수 있다.

node와 npm 버전 확인 화면

자신이 설치한 버전이 나오면 올바르게 설치가 완료된 것이다.

Node.js 시작

node.js를 시험할 폴더를 만들어주고 VS code에서 열어준다.

node.js를 실험해 보기 위해 테스트용으로 app.js 파일을 만들어준다.

const http = require('http');

// 새로룬 HTTP 서버 생성
const server = http.createServer((req, res) => {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello, World!');
});

// 서버를 포트 3000에서 실행
server.listen(3000, () => {
    console.log('Server running at http://localhost:3000/');
});

그리고 테스트 코드로 간단한 HTTP 웹 서버를 생성하는 코드를 넣어준다.

  • http는 Node.js에서 기본 제공되는 모듈로, HTTP 서버를 생성하거나 클라이언트 요청을 처리할 수 있다.

실행시키는 방법은 간단하다

node app.js

터미널에 위 명령어를 입력하고 브라우저에서 http://localhost:3000/으로 접속하면 "Hello, World!" 메시지가 출력된다.

 

Next

Node.js는 기본적인 JavaScript 문법을 따르는 라이브러리다.

다음엔 기본 자바스크립트로는 하지 못하는 여러 가지 동작을 실험해 보자.

'React' 카테고리의 다른 글

Visual Studio Code 설치하기  (0) 2024.11.19
React 시작하기  (2) 2024.11.18