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