npm과 yarn은 자바스크립트 런타임 환경인 노드(Node.js)의 패키지 관리자
이며, 명령 줄 인터페이스(Command-line interface, CLI)를 통해 패키지 설치 및 삭제뿐 아니라 패키지 버전 관리, 의존성 관리도 편리하게 할 수 있습니다.
npm과 yarn의 차이점은 무엇일까요?
요약하자면 yarn은 npm의 부족한 부분을 개선된 버전이라고 생각하면 이해하기 쉽습니다.
다음은 각 패키지의 상세 내용입니다.
Node.js로 만들어진 모듈을 웹에서 받아서 쉽게 설치하고 관리해주는 프로그램이며, npm은 패키지를 한 번에 하나씩 순차적으로 설치합니다.
설치
npm은 기본적으로 노드를 다운로드하면 자동으로 설치되어 있어 다음 명령어를 통해 버전 확인을 할 수 있습니다.
$ node -v
$ npm -v
2016년 Facebook에서 npm의 보안 및 성능 문제를 개선해서 npm을 대체하기 위해서 만든 패키지 매니저이며 npm보다 더 안전한 이유는 npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행하는 특징이 있는데, 이는 편리하지만 안정성을 위협할 수 있습니다. 그래서 보안 시스템에 몇 가지 취약성이 발생하기도 하며 심각한 문제를 초래할 수 있습니다.
하지만 yarndms yarn.lock or package.json파일에 있는 파일만 설치하기 때문에 보안적인면에서 yarn이 더 안전하다고 할 수 있습니다.
속도 측면에서 npm보다 빠른 이유는 여러 패키지를 동시에 가져오고 설치하도록 최적화되어 있기 때문입니다.
(하지만 최근 npm에 업데이트에 따라 보안적인 측면에서 크게 향상되었답니다.)
설치
yarn은 npm을 통해 설치해야 합니다.
$ npm install yarn --global