[Node.js] yarn과 npm 비교

cabbage·2023년 1월 14일
0

Node.js

목록 보기
3/7
post-thumbnail

패키지 매니저

패키지 매니저는 패키지들의 설치, 삭제, 패키지들의 의존성 관리, 패키지 버전 업데이트 등을 도와주는 도구이다.

대표적인 패키지 매니저 두 가지

  • Node Package Manager(NPM)
  • Yet Another Resource Negotiator(YARN)

yarn과 npm 비교

속도

NPM과 Yarn의 주된 차이점 중 하나는 패키지 설치 프로세스를 처리하는 방법이다. Yarn의 패키지 설치 프로세스의 특징은 다음과 같다.

  • Yarn은 패키지를 병렬로 설치한다.
  • Yarn은 동시에 여러 패키지들을 가져오고 설치하는 것에 최적화되어 있다.
  • 여러 패키지를 설치할 때, 설치 시간이 오래 걸리는 패키지가 있어도 다른 패키지들을 병렬로 설치한다.

npm의 패키지 설치 프로세스의 특징은 다음과 같다.

  • NPM은 한번에 하나씩 패키지를 설치한다.
  • NPM은 직렬 설치 프로세스로 패키지를 설치한다.

yarn이 npm보다 패키지 설치 속도 면에서 빠르다.

lock 파일 생성

lock 파일은 프로젝트에 필요한 모든 의존성을 포함하는 리스트이다. yarn install 또는 npm install 명령어를 사용해 패키지를 설치한다면 lock 파일에 명시된 의존성 버전과 동일한 버전으로 패키지들을 설치하게 된다.

lock 파일이 있다면 yarn과 npm 모두 동일한 의존성 버전을 설치하게 되어, 모든 팀원들이 동일한 의존성 버전에서 작업할 수 있다.

보안

yarn은 프로젝트의 의존성과 충돌을 일으킬 수 있는 rogue 스크립트와 같은 것들을 패키치 설치 시 같이 다운로드 받지 않도록 보안 검사를 실행한다.

과거에 NPM은 어떤 보안 설치 프로세스도 제공하지 않았지만 최근의 업데이트로 패키지 설치 시 보안 검사를 실행한다.

참고

profile
캐비지 개발 블로그입니다. :)

0개의 댓글

관련 채용 정보