npm과 npx는 Node.js 생태계에서 자주 사용되는 도구들로, 각각의 기능과 목적이 다릅니다.
npm은 Node.js의 패키지 관리자입니다. 주된 역할은 Node.js 패키지의 설치, 버전 관리, 그리고 프로젝트의 종속성 관리입니다. npm을 사용하면 다양한 오픈 소스 라이브러리와 도구들을 쉽게 설치하고 사용할 수 있습니다.
주요 기능:
npm install <package-name> 명령어를 사용하여 패키지를 설치합니다.package.json 파일에 기록하여, 다른 개발자들이 동일한 환경에서 작업할 수 있게 합니다.npm run <script-name> 명령어를 사용하여, package.json 파일에 정의된 스크립트를 실행합니다.예시:
# 로컬 프로젝트에 패키지 설치
npm install express
# 전역 패키지 설치
npm install -g nodemon
# 스크립트 실행
npm run build
npx는 npm 5.2.0 이후에 포함된 실행 도구입니다. 주된 목적은 로컬이나 전역으로 설치된 Node.js 패키지를 실행하거나, 일회성 명령어를 실행하기 위해 특정 패키지를 설치하지 않고도 사용할 수 있게 하는 것입니다.
주요 기능:
예시:
# create-react-app 패키지를 설치하지 않고 프로젝트 생성
npx create-react-app my-app
# 로컬로 설치된 패키지 실행
npx mocha
# 특정 버전의 패키지 실행
npx cowsay@1.3.0 "Hello, world!"