개발자 박가나
[241219 TIL] 본캠프 57일차 (패키지 매니저) 본문
패키지 매니저는 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/ 폴더에 라이브러리를 압축 형태로 저장
- 플러그인 시스템
'내일배움캠프' 카테고리의 다른 글
[241230 TIL] 본캠프 63일차 (프로젝트 회고) (0) | 2024.12.30 |
---|---|
[241226 TIL] 본캠프 61일차 (PWA) (1) | 2024.12.27 |
[241218 TIL] 본캠프 56일차 (SPA 프로젝트 마무리) (4) | 2024.12.18 |
[241213 TIL] 본캠프 53일차 (라이브러리와 프레임워크) (0) | 2024.12.13 |
[241211 TIL] 본캠프 51일차 (Route Handler와 Server Action) (0) | 2024.12.11 |