본문 바로가기
개발적인

대체 Yarn을 왜 사용해요?

by klm hyeon woo 2023. 8. 28.

목차

· Yarn이 무엇이길래 많이 사용해요?

· Npm과 Yarn의 차이

· Yarn 설치 방법

· 레퍼런스


Yarn이 무엇이길래 많이 사용해요?

 Yarn은 2016년 페이스북에서 개발한 패키지 관리자이다. React와 같은 프로젝트를 진행하며 겪은 어려움을 해결하기 위해 개발이 되었고, Npm과 같은 기능을 수행하나 Npm 레지스트리와 호환하면서 속도나 안정성 측면에서 Npm보다 향상이 되었다. Npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행하는 특징이 있는데, 이 특징은 편리하지만 안정성을 위협할 수 있다. 이에 따라 보안 시스템에 몇가지 취약성이 발생하기도 하며 나중에는 이러한 부분들이 커져 심각한 문제가 발생할 수 있다.

 Yarn은 yarn.lock 또는 packge.json 파일에 있는 파일만을 설치하기 때문에 보안적인 면에서 Yarn이 더 안전하다는 결과가 있다. 하지만, 최근 Npm 업데이트에서 Npm 보안 업데이트도 크게 향상이 되었다. Yarn 명령어를 정리해본다면 아래와 같이 역할과 커맨드를 나열할 수 있다.

> yarn init : package.json 생성
> yarn OR yarn install : package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치
> yarn add package_name@버전 : 특정 패키지의 특정 버전 설치
> yarn add 주소 : 특정 저장소 내 패키지 설치, 주로 Github를 이와 같이 설치한다.
> yarn global add packge_name : 글로벌 옵션을 부여하여 글로벌로 설치를 진행한다. 로컬의 다른 프로젝트도 이 패키지를 사용할 수 있다.
> yarn remove : 패키지 삭제 명령어이다.
> yarn upgrade : 설치한 패키지들을 업데이트해준다.
> yarn dedupe : 중복 설치된 패키지들을 정리해주는 명령어이다.

Npm과 Yarn의 차이

Npm과 Yarn의 주요 차이점 중 하나는 패키치 설치 프로세스를 처리하는 방법이다. Npm은 패키지를 한번에 하나씩 순차적으로 설치하지만, Yarn은 여러 패키지를 동시에 가져오고 설치하도록 최적화되어 있어 패키지 설치 속도 측면에서 Yarn이 Npm보다 빠르다. 현재도 Yarn이 빠르지만 Npm의 업데이트로 인해 차이가 거의 없어졌다고 볼 수 있다.

 

명령어 NPM YARN
Dependencies 설치 npm install yarn OR yarn install
패키지 설치 npm install [패키지 명] yarn add [패키지 명]
dev 패키지 설치 npm install --save-dev [패키지 명] yarn add --dev [패키지 명]
글로벌 패키지 설치 npm install --global [패키지 명] yarn global add [패키지 명]
패키지 제거 npm uninstall [패키지 명] yarn remove [패키지 명]
dev 패키지 제거 npm uninstall --save -dev [패키지 명] yarn remove [패키지 명]
글로벌 패키지 제거 npm uninstall --global [패키지 명] yarn global remove [패키지 명]
업데이트 npm update  yarn upgrade
패키지 업데이트 npm undate [패키지 명] yarn upgrade

Yarn 설치 방법

 Yarn을 설치하기 위해서는 Npm이 기본적으로 설치되어있어야 한다. Yarn은 Npm을 통해 설치를 진행한다.

$ npm install --g yarn

다음으로 Yarn을 사용하기 위해 의존성 설치를 진행한다.

$ yarn

레퍼런스

 

[IT] npm vs yarn의 차이점?

npm과 yarn npm과 yarn은 node 개발 환경에서의 패키지 매니저입니다. 전 세계의 개발자들이 자바스크립트로 만든 다양한 패키지를 npm 온라인 데이터베이스에 올리면 npm, yarn과 같은 패키지 관리자를

shape-coding.tistory.com

 

 

npm yarn 무엇이고 어떤 차이??

프로젝트를 진행할 때 많이 쓰이는 패키지 관리 툴로는 대표적으로 npm과 yarn이 있습니다. 항상 프로젝트를 진행할 때 이번에는 어떤거를 쓸지 고민하다가 선택을 하게되는데, 정확히 이것들은

velog.io

 

댓글