Yarn V1에서 의존성을 추가하면 CommonJS, ESM 모듈 간 충돌하는 이슈가 지속적으로 발생해서 Yarn V4로 마이그레이션 하는 작업을 진행하였다.
본 글에서는 Yarn Classic이라고 부르는 V1에서 Yarn Berry(Yarn V2+을 지칭하는 명칭)로 마이그레이션 하는 방법에 대해 알아본다.

1. Yarn 버전 확인

yarn -v 를 입력해서 현재 yarn 버전을 확인한다.
명령어를 실행하니 1.22.22 버전이 설치되어 있다.

$ yarn -v  
1.22.22



2. Node 버전 확인

Yarn Berry로 업그레이드하기 위해서는 Node.js 18 버전 이상이 설치되어있어야 한다.
node -v 명령어로 버전을 확인해 보니 20.10.0 버전이 설치되어 있다.
만약 18 버전보다 낮다면 18+ 버전을 설치한다.

$ node -v
v20.10.0



3. Corepack 활성화

아래 명령어를 입력해 corepack을 활성화한다.

$ corepack enable



4. Yarn Berry 버전으로 설정

터미널에서 프로젝트 루트로 이동해 아래 명령어를 실행한다.
그리고 yarn -v를 입력해 버전을 확인하면 4.1.1로 적용된 것을 확인할 수 있다.

$ yarn set version berry
$ yarn -v
4.1.1



5. Yarn Classic 설정파일 마이그레이션

.npmrc, .yarnrc 파일이 없다면 넘어가면 된다.
Yarn Berry(V2+)에서는 설정 파일로 .yarnrc.yml를 사용한다.
기존에 Yarn Classic(V1)에서 사용하던 .npmrc와 .yarnrc 파일의 내용을 .yarnrc.yml에 옮긴다.
포맷이 조금 변경되었다고 하니 자세한 내용은 Yarn Configuration 문서를 참고한다.



6. Yarn 의존성 재설치

yarn install 명령어로 의존성을 다시 설치하고 마이그레이션을 마무리한다.

$ yarn install



참고자료