본문 바로가기
✍ 따뜻한 개발 공부

[etc] 계속 쓰고는 있었는데, yarn과 npm의 차이가 무엇인교

by 따따시 2022. 12. 12.

npm과 yarn

npm과 yarn은 자바스크립트 런타임 환경인 노드(Node.js)의 패키지 관리자이다.

전 세계의 개발자들이 자바스크립트로 만든 다양한 패키지를 npm 온라인 데이터베이스 (opens new window)에 올리면 npm, yarn과 같은 패키지 관리자를 통해 설치 및 삭제가 가능하다.

 

자바스크립트 패키지 관리자란

패키지 : npm에 업로드된 노드 모듈
다양한 자바스크립트 프로그램이 패키지라는 이름으로 npm에 등록되어 있고, 패키지가 다른 패키지를 사용할 경우 의존 관계를 가지기도 한다고 한다. 

npm 이란?

NPM(Node Package Manager)은 자바스크립트 언어를 위한 패키지 관리자로, Node.js의 기본 패키지 관리자이다.
NPM을 이용하여 개발자들이 Node패키지를 만들고, 공유한다.

우리는 command를 통해 업로드된 패키지들을 설치받아서 사용하는 것! 

npm이 없었을 때는 필요로 하는 기능을 추가하기 위해 직접 코드를 작성하거나 github를 통해 다운로드를 했는데,

Node.js를 설치하기만 하면(기본적으로 npm은 Node.js 내에 내) 명령어 한 줄로 기능의 추가가 가능하게 된 것!! 

yarn 이란?


yarn은 2016년 페이스북에서 개발한 패키지 관리자이다.

리액트(React)와 같은 프로젝트를 진행하며 겪었던 어려움을 해결하기 위해 개발되었고,

npm과 같은 기능을 수행하나, npm 레지스트리와 호환하면서 속도나 안정성 측면에서 npm보다 향상되었다고 한다. 

 

npm vs yarn 비교하기!! 

속도

npm과 yarn의 주요 차이점 중 하나는 패키지 설치 프로세스를 처리하는 방법이다.

npm은 패키지를 한 번에 하나씩 순차적으로 설치

yarn은 여러 패키지를 동시에 가져오고 설치하도록 최적화

보안

yarn은 보안 측면에서 npm보다 더 안전한 것으로 알려져 있다.

npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행하는데, 이런 특징이 편리하기도 하지만 안정성을 위협할 수 있다.

반면에 yarn은 yarn.lock 또는 package.json파일에 있는 파일만을 설치한다.

보안은 yarn의 핵심 기능 중 하나이지만 최근 npm의 업데이트에서 npm의 보안 업데이트도 크게 향상되었다고 한다. 

 

 

[ 공부할 때 참조한 싸이트 주소 ]

 

 

댓글