패키지 매니저

장석원·2024년 7월 3일

npm

장점:

  • 광범위한 커뮤니티 지원: 가장 오래되고 널리 사용되는 패키지 매니저, 많은 라이브러리와 도구가 npm을 통해 배포된다.
  • 좋은 문서화: Npm의 공식 문서와 다양한 튜토리얼이 많이 존재 한다.
  • 자동 설치: Node.js를 설치하면 npm이 함께 설치되므로 추가 설정이 필요가 없다.

단점:

  • 속도: 기본적으로 속도가 느릴 수 있다. 특히 큰 프로젝트에선 문제가 될 수 있다.
  • 디스크 사용량: 많은 패키지를 설치할 때 디스크 사용량이 많이 늘어날 수 있다.
  • 의존성 문제: 패키지 의존성 트리 구조로 인해 의존성 충돌이나 중복 설치 문제가 발생할 수 있다.

pnpm

장점:

  • 효율적인 디스크 사용: 패키지를 공유하여 중복 설치를 방지하고 디스크 사용량을 줄인다.
  • 빠른 설치 속도: 설치 속도가 빠르고, 특히 대규모 프로젝트에서 효과적이다.
  • 안전한 의존성 관리: strict node_modules 구조로 인해 의존성 충돌이 줄어든다.

단점:

  • 호환성 문제: 일부 패키지나 도구가 pnpm과 완벽히 호환되지 않을 수 있다.
  • 낮은 인지도: npm이나 yarn에 비해 사용자가 적기 때문에 정보나 커뮤니티 지원이 상대적으로 부족할 수 있다.

Yarn berry

장점:

  • 빠른 설치 속도: Yarn은 의존성 트리를 효율적으로 관리하여 빠른 설치 속도를 제공한다.
  • 플러그인 시스템: 다양한 플러그인을 통해 확장성과 유연성을 제공한다.
  • PnP(Plug'n'Play): node_modules 폴더 없이도 의존성을 관리할 수 있어, 디스크 공간과 설치 시간을 절약할 수 있다.
  • 워크스페이스 지원: 모노레포 구조를 쉽게 관리할 수 있다.

단점:

  • 복잡성: Pnp 및 플러그인 시스템 등 고급 기능을 이해하고 사용하려면 러닝커브가 있다.
  • 일부 호환성 문제: Pnp 모드에서 일부 패키지가 제대로 작동하지 않을 수 있다.
  • 커뮤니티와 문서화: Yarn의 새로운 버전과 관련된 문서와 정보가 이전 버전에 비해 적을 수 있다.

결론:
팀 프로젝트인 물건 경매 사이트는
실시간 업데이트, 사용자 인터랙션, 빠른 반응 속도 등이 중요한 요소라고 생각 하기때문에
설치 속도, 디스크 사용량, 안정성 등이 중요한 고려 사항이라고 생각 된다.
이 요구 사항을 고려해서 pnpm을 사용하는 것으로 결정하게 되었다.

0개의 댓글