📚FOS Study
홈카테고리
홈카테고리
📚FOS Study

개발 학습 기록을 정리하는 블로그입니다.

바로가기

  • 홈
  • 카테고리

소셜

  • GitHub
  • Source Repository

© 2025 FOS Study. Built with Next.js & Tailwind CSS

목록으로 돌아가기
⚡javascript

npm vs pnpm 선택기준은 무엇인가요?

약 1분
GitHub에서 보기

npm vs pnpm 선택기준은 무엇인가요?

  • pnpm 이 성능이 우수하다는 것은 알고 있음
  • 그 외에 어떤 점 때문에 pnpm을 선택해야할까?
  • 또 다른 대안 yarn은?

선택 기준

  • 1. 의존성 관리 방식과 재현성
    • lockfile이 팀 전체에서 같은 트리를 재현해주는지?
      • 이전에 npm을 사용할 떄에는, 각자 여러 환경에서 사용할 때 npm install이 정상적으로 수행되지 않았던 경험이 꽤 있었음
      • 이 떄마다, node_modules 폴더를 제거하고, npm cache를 지우기도 하는 등 불편함을 겪었음
    • 의존성 충돌/유령 의존성(어디서 왔는지 모르는 import)이 줄어드는지
      • pnpm은 기본적으로 의존성 접근이 더 엄격해서 (hoist 덜 함) 이런 실수를 빨리 드러내는 편
  • 2. 설치 성능과 디스크 효율
    • pnpm 은 콘텐츠 주소 저장소(content-addressable store) + 하드링크로 패키지를 재사용해서
      • CI/로컬에서 설치가 빨라지고
      • 디스크가 덜 듦(특히 모노레포/여러 프로젝트 운영 시)
  • 3. 모노레포/워크스페이스 적합성
    • workspace 지원 성숙도(필터, 병렬, 캐시 등)
    • 여러 패키지(예 : SDK/플러그인/서버)가 함께 있는 구조에서 효율
  • 4. 생태계/호환성 리스크
    • 일부 툴이 node_modules의 "평평한(hoisted) 구조"를 은근히 가정하는 경우가 있어
    • 그래서 pnpm 도입 시:
      • 문제 생기는 패키지/번들러/테스트 도구가 있는지 확인
      • 필요하면 public-hoist-pattern같은 설정으로 절충
javascript 카테고리의 다른 글 보기수정 제안하기
목차
  • npm vs pnpm 선택기준은 무엇인가요?
  • 선택 기준