Recent Posts
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
관리 메뉴

개발자 박가나

[241219 TIL] 본캠프 57일차 (패키지 매니저) 본문

내일배움캠프

[241219 TIL] 본캠프 57일차 (패키지 매니저)

gnchoco97 2024. 12. 19. 21:22

패키지 매니저는 JavaScript 프로젝트에서 필요한 외부 라이브러리나 모듈(패키지)을 관리하고 설치하는 도구이다.

 

개발자는 require나 import 구문을 통해서 외부 패키지를 손쉽게 사용할 수 있는데 설치, 업데이트, 제거, 버전 관리 등의 작업을 직접 구현하기에는 너무 복잡하고 오류가 발생하기 쉽다.

 

패키지 매니저는 이러한 과정을 자동화해줌으로써 개발 효율성을 높이고 코드의 일관성을 유지할 수 있다.

 

 

npm (node package manager)

2010년에 등장한 최초의 JavaScript 패키지 매니저로, Node.js와 함께 배포된다. 패키지 관리에 필요한 기본 개념과 구조를 정립하였고, JavaScript 생태계의 급속한 성장에 기여하였다.

  • package.json 파일을 통한 패키지 메타 데이터 관리
  • node_modules 디렉토리에 패키지 설치
  • 스크립트 실행
  • 패키지 배포 및 레지스트리 관리

 

yarn classic

2016년에 Facebook과 Google 등의 협업으로 등장하였다. npm의 성능 및 보안 문제를 개선하기 위해 만들어졌고, 빠른 설치 속도와 일관된 패키지 관리를 제공한다.

  • 병렬 설치 방식으로 설치 속도 개선
  • yarn.lock 파일 도입
  • 오프라인 설치 지원

 

pnpm (performant npm)

2017년에 디스크 공간 효율성과 설치 속도를 극대화하는데 초점을 맞춰서 등장하였다.

  • 중복 제거
  • 하드 링크 및 심볼링 링크 사용
  • 의존성 격리

 

yarn berry

2020년에 발표된 yarn의 차세대 버전으로, 혁신적인 기능들을 도입해서 패키지 관리의 새로운 패러다임을 제시하였다.

  • node_modules 폴더를 제거하고 .pnp.chs라는 파일 하나로 모든 패키지 관리
  • .yarn/cache/ 폴더에 라이브러리를 압축 형태로 저장
  • 플러그인 시스템