npx (Node Package Execute)는 Node.js 환경에서 사용하는 명령어 실행 도구입니다.
npm(Node Package Manager)을 설치하면 기본적으로 함께 설치됩니다. (npm 5.2.0 버전 이상부터 포함)
즉,
- npm은 패키지를 "설치"하는 도구
- npx는 패키지를 "실행"하는 도구입니다.
기존에는 CLI 기반 패키지를 사용하려면 전역으로 설치해야 했지만,
npx를 사용하면 설치하지 않고도 바로 실행할 수 있습니다.
예를 들어, React 프로젝트를 생성하려면 다음과 같이 입력합니다.
npx create-react-app my-app
이 명령어 한 줄로 React 프로젝트가 생성됩니다.
create-react-app을 설치한 적이 없더라도, npx는 npm 레지스트리에서 해당 패키지를 다운로드하고 바로 실행해줍니다.
이것이 바로 npx의 핵심인 설치하지 않고도 패키지를 즉시 실행할 수 있다는 점입니다.
| 기능 | 설명 |
|---|---|
| 설치 없이 실행 | 전역 설치 없이, 임시로 CLI 실행 가능 |
| 항상 최신 버전 사용 | 매 실행 시 최신 버전으로 동작 |
| 자동 정리 | 실행 후 디스크에서 자동 삭제 (로컬 저장 X) |
npx는 npm v5.2.0 이상에서 기본 제공되는 명령어 실행 도구입니다.
npm을 보완하여 더 편리하게 사용할 수 있도록 만들어졌습니다.
| 항목 | npm | npx |
|---|---|---|
| 역할 | 패키지 설치 도구 | 패키지 실행 도구 |
| 설치 여부 | 설치가 필요함 | 설치 없이 실행 가능 |
| 예시 | npm install nodemon | npx nodemon |
| 사용 시점 | 지속적으로 쓸 도구 | 한 번만 실행할 도구 |
❗️주의
- 로컬에 해당 패키지가 이미 설치되어 있다면 npx는 로컬 패키지를 우선 실행합니다.
- npx는 실행 시점에 npm에서 패키지를 다운로드하므로 인터넷 연결이 필요합니다.
nodemon으로 서버 실행하기npx nodemon server.js
nodemon을 전역 설치하지 않아도 실행됩니다.create-react-app으로 리액트 프로젝트 생성npx create-react-app my-app
실행 결과:
my-app폴더 생성 + 초기 디렉토리 구조 구성 + npm 패키지 자동 설치
| 항목 | 설명 |
|---|---|
| npx란? | 설치 없이 npm 패키지를 실행하는 CLI 도구 |
| 포함 여부 | npm v5.2.0 이상부터 기본 포함 |
| 장점 | 빠른 실행, 최신 버전 사용, 설치 없이 실행 가능 |
| 단점 | 실행마다 인터넷 필요, 로컬 패키지 우선 실행됨 |
| 대표 사용처 | npx nodemon, npx create-react-app, npx eslint 등 |