npm yarn 차이

정세은·2023년 4월 12일
1

javascript

목록 보기
5/5

프로젝트를 진행할 때 많이 쓰는 패키지 관리 툴로는 대표적으로 npm과 yarn이 있다.
이번 포스팅에서는 두가지를 비교해보고자 한다.

✔️ npm과 yarn이란?

자바스크립트 런타임 환경인 Node.js의 패키지 관리자이다.
개발자들이 자바스크립트로 만든 다양한 패키지들을 올리면 npm, yarn과 같은 패키지 관리자를 통해 설치 및 삭제가 가능하다.

✔️ npm(node package manager)

이름 그대로 '노드 패키지 매니저'로, Node.js의 기본 패키지 관리자이다.
런타임 동안 노드 환경에서 쓰이는 다양한 패키지들을 관리한다.

✔️ yarn

react와 같은 프로젝트를 진행하며 겪었던 npm의 단점들을 개선하기 위해 Facebook에서 개발한 패키지 관리자이다.
yarn은 npm이 사용하는 동일한 npm 구조에 의존한다.
npm 레지스트리와 호환하면서 속도나 안정성 측면에서 npm보다 향상되었다.

✔️ npm vs yarn

1️⃣ 속도

가장 중요한 차이점 중 하나는 패키지 설치 프로세스를 처리하는 방법이다.
npm은 패키지를 한 번에 하나씩 순차적으로 설치한다.
반면에 yarn은 패키지를 동시에 가져오고 설치하도록 최적화되어 있어 속도 면에서 크게 향상된다.
(하지만 npm 5.0 버전은 그 아래 버전들보다 5배는 더 빠르다고 npm 개발자들이 언급하였다고 한다. 그 이후 npm V6.10.1과 yarn V1.17.3으로 install 속도 실험을 했는데, yarn이 승리하였지만 그 차이는 아주 근소한 차이라고 하여서, 이제는 거의 차이가 없어졌다고 볼 수 있는 문제인 것 같다.)

2️⃣ 보안

yarn은 패키지의 동일한 버전을 사용하여 보얀 취약점에 대한 위험성을 줄이는 "lockfile" 기능을 제공한다.
npm도 이제 이러한 기능을 제공하지만, yarn이 더 오래 전부터 제공해왔기 때문에 많은 사용자가 yarn을 선호한다.

3️⃣ 캐시

yarn은 로컬 캐시를 유지하여 빠른 패키지 설치와 업데이트를 가능하게 한다.
npm도 캐시를 사용하지만, yarn의 캐시 시스템이 더 효율적이다.
다.

결론적으로, npm과 yarn은 모두 유용한 도구이다.
진행하는 프로젝트에 따라, 개발자의 취향에 따라 더 나은 선택을 할 수 있을 것이다.
새로운 프로젝트를 시작할 때는 양쪽을 모두 고려하고, 프로젝트 팀과의 의견을 수렴하여 결정하면 될 것 같다.

참고

https://seogeurim.tistory.com/12

0개의 댓글