개발을 하면서 라이브러리를 다운받을 때 npm을 사용하곤 했다.
하지만 정작 어떤 뜻인지 또 npx와 yarn과 각각 어떤 특징을 지녔는지는 모르고 그냥 하라니까 맞다보다~ 하고 npm만 사용하곤 했다!
이번 기회에 이들의 차이점을 알아보자! 😊
Node Package Manager의 약자로 Node.js의 기본 패키지 관리자
npm은 Node.js와 함께 설치되며, Node.js 애플리케이션의 종속성을 관리하고 패키지를 설치, 업데이트, 제거하는 데 사용된다.
npm은 온전히 자바스크립트로 작성되었다.
모듈 패키징이 엉망으로 완성되는 것을 관찰하고 아이작 Z 슐루터가 개발했다.
내부적으로 npx를 사용해서 패키지를 활용하여 프로젝트 생성
Node Package Execute의 약자로 이름 그대로 Node 패키지를 실행하는 도구이다.
Node.js를 설치하면 자동으로 설치된다.
npx를 사용하면 npm으로 로컬 또는 글로벌로 다운로드 받지 않은 패키지도 실시간으로 설치해 실행 가능하다.
yarn은 페이스북에서 개발한 패키지 매니저이다.
더 빠르고, 더 안전하며, 더 확정적인 의존성 관리를 목표로 개발되었다. (병렬)
패키지 설치
패키지 제거
패키지 업데이트 yarn upgrade package name
패키지 실행 yarn run package name
| 기능/특징 | NPM | NPX | YARN |
|---|---|---|---|
| 기본 제공 | Node.js 기본 패키지 관리자 | NPM에 포함됨 (5.2.0 이상) | 별도 설치 필요 |
| 패키지 설치 속도 | 보통 | N/A | 빠름 |
| 의존성 고정 파일 | package-lock.json | N/A | yarn.lock |
| 병렬 설치 지원 | 아니요 | 아니요 | 예 |
| 오프라인 모드 | 아니요 | 아니요 | 예 |
| 패키지 실행 | npm run <script_name> | npx <package_name> | yarn run <script_name> |
| 사용 편의성 | 보통 | 간편함 | 사용 편의성 높음 |