본문 바로가기

Sparta x 이노베이션 캠프/React

TIL) yarn 과 npm 정의, 차이점

반응형

yarn, npm은 자바스크립트 런타임 환경인 노드(Node.js)의 패키지 관리자이다. 전 세계 개발자들이 자바스크립트로 만든 다양한 패키지를 npm온라인 데이터베이스에 올리면 npm, yarn과 같은 패키지 관리자를 통해 설치 및 삭제가 가능하다. 또한 패키지 버전관리, 의존성 관리도 편리하게 가능하다.

 

npm

노드 패키지 매니저의 줄임말로 노드를 설치 할 때 자동으로 설치되는 기본 패키지 관리자이다. 역할은

1. 온라인 플랫폼. 사람들이 노드 패키지를 만들어 업로드, 공유하는 공간으로 누구나 게시된 패키지를 사용할 수 있다.

2. 명령 줄 인터페이스. 온라인 플랫폼과 상호 작용하기 위해 명령 줄 인터페이스 사용하며 패키지 설치, 제거가 가능하다.

 

yarn

yarn은 2016 페이스북에서 개발한 패키지 관리자. 리액트(React)와 같은 프로젝트를 진행하며 겪었던 어려움을 해결하기 위해 개발되었고, npm 레지스트리와 호환하면서 속도나 안정성 측면에서 npm보다 향상되었다. 

 

차이점

yarn은 보안 측면에서 npm 보다 더 안전하다. npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행한다. 이로 인해 보안 시스템에 몇 가지 취약성이 발생하며 나중에 심각한 문제가 발생 할 수 있다. 반면에 yarn은 yarn.lock또는 package.json 파일에 있는 파일만을 설치한다. 보안은 yarn의 핵심 기능 중 하나지만 최근 npm업데이트에서 npm의 보안도 크게 향상 되었다.

 

결론

npm, yarn 모두 종속성을 관리하고 패키지를 관리하기 좋은 툴이다. 둘 다 지속적으로 관리되고 있으며 폭넓은 사용자 커뮤니티를 가지고 있고, 업데이트를 통해 추가된 기능 덕분에 거의 차이 나지 않게 되었다. 결론적으로 둘 중에 무엇을 선택해야 할지는 개인의 취향, 성능(패키지 설치 속도), 커뮤니티에 따라 달라질 수 있을 것 같다.

 

Reference

https://joshua1988.github.io/vue-camp/package-manager/npm-vs-yarn.html#npm%E1%84%80%E1%85%AA-yarn%E1%84%8B%E1%85%B4-%E1%84%8E%E1%85%A1%E1%84%8B%E1%85%B5%E1%84%8C%E1%85%A5%E1%86%B7

반응형

'Sparta x 이노베이션 캠프 > React' 카테고리의 다른 글

TIL) 내 버킷리스트 만들기 - 라우팅, React  (0) 2022.08.17
TIL) 라우팅이란?  (0) 2022.08.17
TIL) eventListener  (0) 2022.08.17
TIL) Ref  (0) 2022.08.17
TIL) React 키워드 정리  (0) 2022.08.16