자바스크립트 패키지 매니저: npm vs. Yarn 🥊

패키지 매니저(package manager)는 프로젝트가 의존하고 있는 패키지를 효과적으로 설치, 갱신, 삭제할 수 있도록 도와주는 관리 도구입니다. 그 어떤 프로그래밍 언어보다 풍부한 오픈 소스 생태계를 자랑하는 자바스크립트에서 특히 패키지 매니저는 중요한 역할을 하는데요. 아무리 간단한 자바스크립트 프로젝트라고 해도 적게는 수십게 많게는 수백개의 다른 패키지에 의존하기 때문입니다.


대부분의 자바스크립트 패키지 매니저는 Node.js 실행 환경(runtime)에서 돌아가며 `package.json`이라는 파일에 프로젝트가 의존하고 있는 패키지 목록을 명시합니다. 일반적으로 패키지는 프로젝트의 `node_modules` 디렉토리에 저장되는데, 주로 공개 npm 저장소(registry)로 부터 다운을 받지만 회사의 경우 사내망 내의 사설 저장소를 운영하는 경우도 있습니다.


자바스크립트 커뮤니티에서는 npmYarn이라는 두 가지 패키지 매니저가 오랫동안 시장을 양분해왔는데요. 이번 포스팅에서는 현재 기준으로 npm과 Yarn을 비교해보고 이중 무엇을 쓰는 게 좋을지 알아보겠습니다.


📝 포스팅: https://www.daleseo.com/js-package-manager/


사실 자바스크립트 생태계에서는 본 포스팅에서 다룬 npm과 Yarn 외에도 Pnpm과 같은 새로운 패키지 매니저가 줄줄이 등장하고 있습니다. 또한 차세대 자바스크립트 런타임인 Bun의 경우에는 아예 패키지 매니저를 내장하고 있어서 어떤 패키지 매니저를 사용할지 고민할 필요도 없습니다. 기본적으로 표준화보다는 자율성을 가치로 삼는 자바스크립트 커뮤니티에서 향후 이 패키지 매니저 전쟁이 어떻게 진행될지 지켜보면 흥미로울 것 같습니다.


패키지 매니저 관련해서 아래 게시물도 함께 읽어보시기를 추천드립니다.


📕 자바스크립트 개발자를 위한 package.json 파일 정리: https://careerly.co.kr/comments/90359

📗 패키지 잠금 파일 (package-lock.json, yarn.lock): https://careerly.co.kr/comments/93535

📘 자바스크립트 개발자를 위한 필수 npm 커맨드 정리 (+npx): https://careerly.co.kr/comments/93003

📙 Bun: 귀엽지만 강력한 새로운 자바스크립트 런타임 🥟: https://careerly.co.kr/comments/92202

자바스크립트 패키지 매니저: npm vs. Yarn

www.daleseo.com

자바스크립트 패키지 매니저: npm vs. Yarn

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 11월 19일 오전 3:48

 • 

저장 89조회 4,647

댓글 0

    함께 읽은 게시물


    얼마전에 신입 개발자 채용시 과제를 10분 내에 빠르게 만들어서 보낸 사람을 채용했다며, 빠르게 결과를 냈기 때문에 채용했다는 글이 SNS에 많이 돌았다. 그러면서 이렇게 말한다.


    "알고리즘 많이 푸는 개발자보다, AI로 빠르게 결과 내는 사람을 선호. 알고리즘, 코딩 책 안 봐도 AI 도구만 적극 활용하면 취업 기회 잡을 수 있다."


    ... 더 보기

     • 

    저장 19 • 조회 4,992



    "힘 빼세요. 어깨도 힘 빼시고요. 다시 해볼게요."


    어떤 운동이든 처음 배우면 듣는 이야기예요. 잘하려니 나도 모르게 힘이 들어가는 데 계속 힘을 빼라고 하니 미칠 노릇이죠.


    ... 더 보기

     • 

    댓글 1 • 저장 16 • 조회 5,556


    가능성에 잡아먹히지 마세요

    코드에서 if는 가능성을 의미해요. if를 로직 깊이 숨기는 건 복잡성을 늘리는 일이에요.

    ... 더 보기

     • 

    저장 11 • 조회 3,627


    DB 프로시저 싫어하시는 분들 많으시죠? Lambda/Serverless Function 이라고 생각해보십시오! 사실상 Serverless Function이랑 똑같은 것. Serverless Function도 싫어하시면 린정.

    조회 2,193