YARN BERRY

j1_0·2023년 7월 30일
0

YARN BERRY

개인 프로젝트를 준비하며 패키지 관리자를 정하려던 중 npm과 yarn 만 사용 해봤는데 어디서 주워들었던 yarn berry에 대한 궁금증이 생겨 사용해 보려 공부하기 시작했다. yarn 2라고 불리는 yarn berry에 대해 알아보려한다.

yarn berry는 yarn의 새로운 버전으로 PnP(Plug'n'Play)와 같은 다양한 기능 개선이 이루어지고 zero install을 통해 배포 시간을 대폭 감소 시킬 수 있다고 한다.

zero install 이란
설치를 하지 않고 이용하는 방식을 말한다.

  • 기존 node_modules에서 모든 디펜던시를 인스톨하느라 소모하던 시간을 없앨 수 있다.
  • CI 실행시간, 배포시간을 감소 시킬 수 있다.

yarn berry 마이그레이션 방법

berry 활성화
$ yarn set berry
yarn을 최신 버전으로 업데이트
$ yarn set version stable
berry 버전이 세팅되면 .yarnrc.yml이 루트 경로에 설정된다.

yarn config 설정

.yarnrc.yml

nodeLinker:"pnp" // pnp, pnpm, node_modules 중 선택 가능

설정 후에는 의존성에 대한 문제가 있는지 검사를 해준다.
$ yarn dlx @yarnpkg/doctor


  • zero install을 사용하는 .gitignore 작성법
.yarn/*
!.yarn/cache
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
  • zero install 사용하지 않는 방법
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
  • ZipFS - a zip file system extension
    node_nodules 대신 pnp 모드로 설정을 하게 되면 필요한 라이브러리 모듈을 .yarn/.cache 디렉토리에 zip 아카이브 파일로 관리하고 zip으로 된 각 모듈의 의존성 트리 정보들은 프로젝트 루트의 .pnp.cjs 파일로 관리한다.

  • 타입/모듈 추론을 위한 명령어
    $ yarn dlx @yarnpkg/sdks vscode
    타입/모듈 추론이 되지 않아 모듈에서 에러를 해결해주는 명령어다. 명령어를 입력하면 이런 팝업이 뜨는데 allow를 해주면 에러를 해결할 수 있다.


현재까지 알아보며 정리한 정보는 여기까지이며,
앞으로 프로젝트를 진행하며 부족한 부분에 차차 공부할 예정이다.


출처: https://helloinyong.tistory.com/341

1개의 댓글

comment-user-thumbnail
2023년 7월 30일

공감하며 읽었습니다. 좋은 글 감사드립니다.

답글 달기