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 실행
🔍 세 가지의 관계
- Node.js: JS 코드를 실행할 수 있는 환경 제공.
- npm: Node.js 생태계의 패키지(라이브러리)를 관리.
- 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으로 관리하는 것이 일반적입니다.
궁금한 점이 있다면 언제든지 물어보세요! 😊
'프로그래머로의 여정' 카테고리의 다른 글
| GitHub에 새로운 저장소(Repository)를 생성하고, 첫 번째 커밋을 올리는 각 Git 명령어 (0) | 2025.08.11 |
|---|---|
| 번들링(Bundling)의 개념 (5) | 2025.08.10 |
| npm 레지스트리(Registry) (2) | 2025.08.10 |
| git log 화면의 index 의 의미 (1) | 2025.08.09 |
| "A가 (B 안에) 있다" 독일어 표현 (0) | 2025.08.08 |