프론트엔드/React
Yarn Berry와 NPM
midcon
2024. 1. 19. 00:17
NPM에서 Yarn Berry로
기본적인 Node.js의 패키지 관리 시스템은 NPM 이다.
하지만 항해할때도 그랬고 지금 내가 쓰고있는 npm 보다는 yarn을 많이들 사용하는것 같았다.
그래서 왜 yarn을 쓰고, 무엇이 다른지 찾아보고자 했다.
Yarn Berry
Yarn Berry는 Node.js를 위한 새로운 패키지 관리 시스템이다.
2020년 1월 25일부터 정식 버전(v2)가 출시되어, 현재는 Babel과 같은 큰 오픈소스 레포지토리에서도 채택하고 있다.
Yarn Berry는 GitHub의 yarnpkg/berry 레포지토리에서 소스코드가 관리되고 있다.
NPM의 문제점

NPM은 Node.js 설치 시에 기본으로 제공되어 범용적으로 사용되고 있으나, 비효율적이거나 깨져 있는 부분이 많다고 한다.
이에 대해 토스 기술 블로그에 구체적으로 정리된 글이 있었다.
간단하게 요약하자면 아래와 같다.
- 비효율적인 의존성 검색
- 환경에 따라 달라지는 동작
- 비효율적인 설치
- 유령 의존성
- 보안 문제
yarn은 이런 문제들을 해결해준다는 이야기다.
사실 아직까지 내가 이 쪽에 조예가 깊지 않아서 뭐가 좋고 뭐가 나쁘다는걸 듣고 바로 판단하기는 어렵다.
하지만 npm에는 이런 문제가 있고, yarn으로 대체하는데는 이런 이유가 있다는 정도는 알아보았다.
일단은 yarn을 써보고 나머지는 좀 더 익숙해져보고 판단해보고자 한다.
참고자료)
node_modules로부터 우리를 구원해 줄 Yarn Berry
토스 프론트엔드 레포지토리 대부분에서 사용하고 있는 패키지 매니저 Yarn Berry. 채택하게 된 배경과 사용하면서 좋았던 점을 공유합니다.
toss.tech