
📖 Reference
📎 https://joshua1988.github.io/vue-camp/package-manager/npm-vs-yarn.html#npm과-yarn의-차이점
📎 https://enjoydev.life/blog/frontend/7-yarn-npm

npm과 yarn은 모두 JS 프로젝트의 패키지 관리를 위해 사용되는 도구입니다.
npm과 yarn은 자바스크립트 런타임 환경인 노드(node) 의 패키지 관리 도구입니다.
npm은 Node Package Manager의 줄임말로 노드를 설치할 때 자동으로 설치되는 기본 패키지 관리자입니다.
// 노드를 다운로드하면 npm은 자동으로 설치됩니다.
// 설치 후 아래와 같은 명령을 통해 npm의 설치 유무를 파악합니다.
node -v
npm -vyarn은 2016년 페이스북에서 개발한 패키지 관리자입니다. React와 같은 프로젝트를 진행하며 겪었던 어려움을 해결하기 위해 개발되었습니다. 이로 인해 npm 레지스트리와 호환하면서 속도나 안정성 측면 모두 npm보다 향상되었습니다.
// yarn은 npm을 통해 설치합니다.
npm install yarn --global
// MacOS라면 brew를 통해 설치할 수 있습니다.
brew update
brew install yarn패키지 설치 프로세스를 처리하는 방법에서 차이가 있습니다.
❗ 패키지 설치 속도 측면에서 yarn이 npm보다 빠릅니다.
yarn.lock 혹은 packge.json 에 존재하는 파일만을 설치합니다.❗보안은 yarn의 핵심 기능 중 하나이지만 최근 npm의 업데이트로 npm의 보안성도 크게 향상되었습니다.
npm과 yarn 모두 종속성을 관리하며 패키지를 관리하기 좋은 도구입니다. 두 개 모두 지속적으로 관리되고 폭넓은 커뮤니티를 보유하고 있으므로 둘 중 무엇을 선택할 지는 개발자 개인의 취향과 패키지 설치 속도에 따라 달라질 수 있을 것입니다.