npm과 npx의 차이

훈이는못말려·2023년 8월 4일
0
post-thumbnail

전에 npm과 yarn의 차이에 대해 알아보았고, 이번에는 npm과 npx의 차이를 알아보려고 한다.

npm은 다른 글에서 설명해놓았으니 npx에 대한 설명부터 시작할 것이다.

npx

npx는 Node.js 패키지 실행 도구로, npm(Node Package Manager) 패키지를 간편하게 실행하고 관리하는 데 사용된다.

npx는 npm 패키지를 실행하고자 할 때 사용된다. 기존에 설치된 패키지를 사용하지 않고, 일회성으로 명령을 실행해야 할 때 유용하다.

npx를 사용하여 프로젝트의 스크립트를 실행하거나, 프로젝트에 종속성이 설치되어 있지 않은 패키지를 간편하게 실행할 수 있다.

npm과 npx의 차이

일반적으로 npm을 사용하여 패키지를 설치하면 그 패키지가 프로젝트의 node_modules 폴더에 저장된다. 따라서 설치된 패키지를 실행하려면 명령어를 직접 입력하거나, package.json 파일에 등록하여 npm run 명령으로 실행해야 한다. 그러나 npx를 사용하면 이미 설치되어 있지 않은 패키지를 일시적으로 다운로드하여 실행할 수 있다.

왜 사용할까?

위는 npm 모듈을 전역으로 설치하는 방법이다. 위와 같이 필요한 모듈을 프로젝트마다 설치하지 말고 전역으로 설치하면 되지 않을까? 그러면 설치를 한 번만 하면 되는데?

하지만, 이는 좋은 방법이 아니다.

  1. 개발자가 직접 확인하지 않으면 모듈이 업데이트 되었는지 안되었는지 확인이 불가능하다.
  2. 여러 개의 프로젝트를 진행하면서 모듈의 각각 다른 버전이 필요한 경우, 글로벌 모듈은 하나의 버전밖에 사용할 수 없기 때문에 문제가 발생한다.

npx 동작 방식

  • npx는 명령을 실행하기 전에 해당 패키지가 시스템에 설치되어 있는지 확인하고, 없다면 임시로 다운로드하여 실행한다.
  • 실행이 끝나면 임시로 다운로드한 패키지는 삭제된다.

예를 들어, 프로젝트에 Create React App 패키지가 설치되어 있지 않다면, npx를 사용하여 아래와 같이 React 앱을 생성할 수 있다.

npx는 실행하려는 패키지가 이미 전역 또는 로컬로 설치되어 있더라도 항상 최신 버전으로 실행한다.

결론

npx는 프로젝트에 종속성으로 설치하지 않고도 개발자가 원하는 명령을 간편하게 실행할 수 있도록 해주는 유용한 도구이다.




참고
https://ljh86029926.gitbook.io/coding-apple-react/undefined/npm-npx

0개의 댓글