Node.js는 실행 환경이고 npm은 프로젝트 의존성을 가져오고 실행하는 도구다
둘은 함께 설치되는 경우가 많지만 역할은 다르다. 문제를 해결할 때도 런타임 문제인지 패키지 문제인지 구분해야 한다.
| 도구 | 역할 | Next.js에서 쓰이는 곳 | 대표 확인 |
|---|---|---|---|
| Node.js | JavaScript 런타임 | 개발 서버, 빌드, 서버 렌더링 | node -v로 버전 출력 |
| npm | 패키지 매니저와 script runner | npm install, npm run dev/build | npm -v와 package.json scripts |
| package.json | 프로젝트 의존성과 명령 목록 | next dev, next build 명령 정의 | scripts와 dependencies 확인 |
| lockfile | 설치되는 패키지 버전 고정 | 팀원 간 동일한 의존성 재현 | package-lock.json 등 하나만 유지 |
| npx/npm exec | 패키지 명령을 일회성 실행 | create-next-app 실행 | 명령 실행 후 프로젝트 폴더 생성 |