[개념정리] Yarn-berry를 사용해보자.

seovee·2023년 12월 3일
2

🗂️ 개념정리

목록 보기
2/9
post-thumbnail

기존에는 자바스크립트 언어를 위한 Node.js의 기본 패키지 관리자인 npm(Node Package Manager)을 사용하였다.
하지만, 최근 프로젝트에서 새로운 기술을 경험해보기 위해 현직에서 가장 많이 사용한다는 Yarn-berry를 사용해보기로 했다.

Yarn란?

Yarn은 페이스북에서 만든 자바스크립트 패키지 매니저다.
npm의 단점을 보완해서 속도(performance)와 안정성(stability), 보안성(security)이 뛰어난 것이 특징이다.

속도

  • 패키지 데이터를 캐시(cache)에 저장
  • 중복된 데이터는 다운하지 않아 패키지 설치 속도가 빠름
  • 여러개를 설치할 때는 병렬로 처리해 npm(순차적)보다 빠름

안정성, 보안성

  • yarn.lock이나 package.json으로 부터 설치만 함
  • yarn.lock로 버전을 고정하여 항상 같은 버전만 사용할 수 있음

Yarn-berry란?

yarn v2 이상의 최신 버전 yarn을 이르는 명칭이다.
기존의 yarn v1은 yarn classic이라고 부른다.

아주 큰 특징은 node_modules를 안써서 파일크기가 작다는 점

Plug'n'Play

  • yarn berry가 제공하는 새로운 패키지 관리 시스템
  • 기존의 무거웠던 node_modules 대신, 패키지들에 대한 정보는 .zip 파일로 압축하여 .yarn/cache 폴더에 저장
  • 이를 찾기 위한 정보를 .pnp.cjs 파일에 생성 후 의존성 트리 정보를 단일 파일에 저장

Zero install

  • yarn-berry는 의존성까지 github에 올릴 수 있음
  • yarn berry를 통해 만든 의존성 폴더는 어지간히 크지 않은 이상 200mb를 넘지 않음
  • 덕분에 git clone 이후 별도의 설치가 필요 없이, 바로 사용할 수 있도록하는 zero-install 시도가능

Yarn 간단 명령어

  • yarn init : package.json 생성
  • yarn or yarn install : package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치
  • yarn add package_name@버전 : 특정 패키지의 특정 버전 설치
  • yarn add 주소 : 특정 저장소 내 패키지 설치. 주로 github을 이와 같이 설치합니다.
  • yarn global add package_name : 옵션. 글로벌로 설치. 로컬의 다른 프로젝트도 이 패키지를 사용 가능하게 됩니다.
  • yarn remove : 패키지 삭제 명령어입니다.
  • yarn upgrade : 설치한 패키지들을 업데이트해줍니다.
  • npm dedupe : 중복 설치된 패키지들을 정리해주는 명령어입니다.
profile
낭만이 빠지면 섭하지

0개의 댓글