본문 바로가기
프로그래머로의 여정

Node.js, npm, npx란?

by nunaaa 2025. 8. 10.

Node.js, npm, npx란?

이 세 가지는 현대 JavaScript 개발 생태계의 핵심 도구입니다. 각각의 역할과 차이점을 쉽게 설명해드리겠습니다.


1. Node.js

"JavaScript를 브라우저 밖에서 실행하는 런타임"

  • 기능:
    • Chrome의 V8 엔진을 기반으로 서버/커맨드라인에서 JS 코드를 실행.
    • 웹 서버, API, CLI 도구 등을 만들 수 있음.
  • 사용 예:
    node server.js  # server.js 파일 실행

2. npm (Node Package Manager)

"JavaScript 패키지(라이브러리) 관리 도구"

  • 기능:
    • 전 세계 개발자들이 공유한 패키지(예: React, Express)를 설치/관리.
    • 프로젝트의 의존성(dependencies)을 package.json에 기록.
  • 주요 명령어:
    npm install react          # react 패키지 설치
    npm install               # package.json의 모든 패키지 설치
    npm run start             # 프로젝트 스크립트 실행

3. npx (Node Package Runner)

"패키지를 설치 없이 일회성으로 실행하는 도구"

  • 기능:
    • 프로젝트에 설치되지 않은 패키지를 임시로 다운로드해 실행.
    • 전역 설치 없이 최신 버전 패키지 사용 가능.
  • 주요 명령어:
    npx create-react-app my-app  # CRA를 설치 없이 실행
    npx eslint .               # 프로젝트의 ESLint 실행

🔍 세 가지의 관계

  1. Node.js: JS 코드를 실행할 수 있는 환경 제공.
  2. npm: Node.js 생태계의 패키지(라이브러리)를 관리.
  3. npx: npm 패키지를 설치 없이 편리하게 실행.

비유:

  • Node.js = 자동차 엔진
  • npm = 주유소 (연료/부품 관리)
  • npx = 카셰어링 (필요할 때만 차를 빌려 사용)

🚀 사용 예시

(1) React 프로젝트 생성

npx create-react-app my-app  # 1. npx로 CRA 실행
cd my-app                    # 2. 프로젝트 폴더 이동
npm start                    # 3. npm으로 개발 서버 실행

(2) 패키지 설치 vs 일회성 실행

동작 명령어 설명
패키지 설치 npm install lodash node_modules에 lodash 설치
일회성 실행 npx cowsay "Hello" cowsay 임시 실행 후 삭제

📌 정리

도구 용도 필요성
Node.js 서버/백엔드 JS 실행 환경 필수 (기반 플랫폼)
npm 패키지 설치/버전 관리 프로젝트 의존성 관리
npx 패키지 임시 실행 (설치 X) 빠른 테스트/초기화

💡 Tip:

  • npm설치, npx실행에 특화됨.
  • 최신 프로젝트는 npx로 시작해 npm으로 관리하는 것이 일반적입니다.

궁금한 점이 있다면 언제든지 물어보세요! 😊