패키지 매니저는 패키지들의 설치, 삭제, 패키지들의 의존성 관리, 패키지 버전 업데이트 등을 도와주는 도구이다.
대표적인 패키지 매니저 두 가지
NPM과 Yarn의 주된 차이점 중 하나는 패키지 설치 프로세스를 처리하는 방법이다. Yarn의 패키지 설치 프로세스의 특징은 다음과 같다.
npm의 패키지 설치 프로세스의 특징은 다음과 같다.
yarn이 npm보다 패키지 설치 속도 면에서 빠르다.
lock 파일은 프로젝트에 필요한 모든 의존성을 포함하는 리스트이다. yarn install 또는 npm install 명령어를 사용해 패키지를 설치한다면 lock 파일에 명시된 의존성 버전과 동일한 버전으로 패키지들을 설치하게 된다.
lock 파일이 있다면 yarn과 npm 모두 동일한 의존성 버전을 설치하게 되어, 모든 팀원들이 동일한 의존성 버전에서 작업할 수 있다.
yarn은 프로젝트의 의존성과 충돌을 일으킬 수 있는 rogue 스크립트와 같은 것들을 패키치 설치 시 같이 다운로드 받지 않도록 보안 검사를 실행한다.
과거에 NPM은 어떤 보안 설치 프로세스도 제공하지 않았지만 최근의 업데이트로 패키지 설치 시 보안 검사를 실행한다.