Yarn Berry

bunny.log·2023년 5월 24일
0

Yarn Berry

npm과 yarn v1이 가지고 있던 고질적인 문제점을 해결해주는 Yarn Berry의 등장!

node_modules의 큰 용량 차지, package.json에 명시되어있지 않은 패키지를 사용하는 유령 의존성 등을 해결해줄 수 있다.

.pnp.cjs

pnp.cjs는 의존성을 확인할 수 있는 파일이다.

기존의 npm이나 yarn v1 같은 경우 의존성을 나타내기 위해 node_modules 디렉토리를 생성한다.

하지만 node_modules는 간단한 프로젝트이더라도 몇백 메가바이트에 육박하는 큰 크기를 차지한다.

뿐만 아니라 디스크 상에 있는 디렉토리이다보니 의존성을 확인하기 위해서는 수많은 디스크의 I/O 작업이 호출된다.

이러한 디스크의 I/O 작업은 굉장히 느리다.

그래서 yarn berry는 .pnp.cjs를 사용해 디스크 I/O 같이 느린 작업을 메모리 상의 자료구조로 대체하여 이를 개선한 것이다.

.yarnrc.yml

yarnrc는 yarn의 내부 설정을 관리하는 파일이다.

  1. yarnPath: yarn을 프로젝트 내에 설치하는데 가장 선호되는 방법으로 모든 팀원이 같은 yarn version을 사용할 수 있도록 해준다.
  2. nodeLinker: Node 패키지를 설치하는데 어떤 링커를 사용할지 명시하는 속성. (pnp, pnpm ,node-modules 가능)

yarn v1 혹은 npm에서 마이그레이션하는 지금과 같은 상황에서는 yarn install시에 nodeLinker: node-modules가 자동으로 추가된다.

참고 블로그

https://nukw0n-dev.tistory.com/37

profile
나를 위한 경험기록

0개의 댓글