1. npm (Node Package Manager)
npm은 Node.js의 공식 패키지 매니저로, 다음과 같은 역할을 수행합니다:
핵심 기능
- 패키지 설치: npm install <패키지명> 명령어로 로컬 또는 전역에 패키지를 설치합니다.
- 패키지 버전 관리: package.json 파일을 통해 프로젝트에 필요한 의존성을 관리합니다.
- 스크립트 실행: npm run <스크립트명>을 통해 package.json에 정의된 커맨드를 실행합니다.
예시
npm install lodash
위 명령은 lodash 패키지를 현재 프로젝트에 설치하며, node_modules 폴더에 저장됩니다. 이후 프로젝트 내에서 해당 패키지를 자유롭게 불러올 수 있습니다.
2. npx (npm package executor)
npx는 npm 5.2.0 이상부터 기본으로 포함된 도구이며, 패키지를 설치하지 않고도 직접 실행할 수 있도록 도와줍니다.
핵심 기능
- 일회성 실행: 특정 패키지를 설치하지 않고도 바로 실행합니다.
- 글로벌 설치 불필요: 명령 실행을 위해 전역 설치할 필요가 없습니다.
- 버전 지정 실행 가능: 원하는 버전의 패키지를 지정하여 실행할 수 있습니다.
예시
npx create-react-app my-app
위 명령은 create-react-app 패키지를 설치하지 않고도 실행하며, 실행 후 자동으로 프로젝트를 생성합니다. 실행 이후에는 시스템에 패키지가 남지 않기 때문에 깔끔하고 안전한 실행 방식입니다.
주요 차이 요약
| 구분 | npm | npx |
| 목적 | 패키지 설치 및 관리 | 패키지 직접 실행 |
| 설치 여부 | 설치 후 사용 | 설치 없이 사용 가능 |
| 전역 설치 필요 여부 | 필요할 수 있음 | 불필요 |
| 사용 시기 | 의존성을 관리하거나 자주 사용할 경우 | 일회성 실행이나 빠른 테스트 시 |
활용 예시 비교
- 특정 CLI 도구를 사용해 Vue 프로젝트를 생성하려는 경우:
# npm 사용 방식 (전역 설치 필요)
npm install -g @vue/cli
vue create my-vue-app
# npx 사용 방식 (전역 설치 불필요)
npx @vue/cli create my-vue-app
npx 방식은 테스트 용도로 툴을 실행하거나 새로운 프로젝트를 시작할 때 유용하며, 시스템에 불필요한 전역 패키지를 남기지 않아 깔끔한 개발 환경을 유지하는 데 적합합니다.
결론
- npm은 프로젝트의 패키지를 설치하고 관리하는 도구입니다.
- npx는 설치하지 않고도 외부 CLI 도구나 패키지를 직접 실행할 수 있게 해주는 실행 도구입니다.
둘은 상호보완적인 관계이며, 상황에 따라 적절하게 선택하여 사용하면 개발의 생산성과 효율을 높일 수 있습니다.
대부분 mcp 서버 실행시 npx 를 사용해서 사용함.
반응형
'프로그래밍 > Node.js' 카테고리의 다른 글
| Node.js 버전별 설치 및 운영 (macOS) - nvm (0) | 2025.08.31 |
|---|---|
| Node.js 모듈 시스템에 대해서 (0) | 2025.08.31 |
| npm init -y 에서 -y 의 의미는 ? (0) | 2025.04.08 |
| Node.js > devDependencies 과 dependencies 차이점 (0) | 2024.11.17 |
| Node.js에 대해서 (0) | 2024.07.06 |