상추의 IT저장소
JS)pnpm 본문
pnpm?
pnpm은 2017년에 Zoltan Kochan이라는 개발자가 내놓은 패키지 매니저로 "performant npm"의 약자이기도 하다.
즉, 효율적인 npm이라는 의미인데 말 그대로 효율성이라는 장점이자 특징을 가진 패키지 매니저다.
npm과 pnpm의 차이점
- 저장 방식
npm은 각 패키지를 설치할 때마다 패키지를 별도의 디렉토리에 저장한다. 이는 디스크 공간을 많이 차지할 수 있다. pnpm은 각 패키지를 한 번만 설치하고, 나머지 프로젝트에서는 해당 패키지를 공유하는 방식으로 저장하여 이로 인해 디스크 공간을 효율적으로 사용할 수 있다.
다만, 주의할 점은 특정 패키지를 한 번만 설치하기 때문에 프로젝트별로 연결을 해놓으면 호환 문제가 발생할 수 있다. 따라서 프로젝트끼리 호한 문제가 발생하지 않도록 버전 관리를 반드시 해줄 필요가 있다.
- 설치 속도
npm은 패키지를 설치할 때마다 의존성 트리를 분석하고, 모든 패키지를 하나씩 설치합니다. 이로 인해 큰 프로젝트에서는 설치 시간이 오래 걸릴 수 있다.
pnpm은 의존성 트리를 분석하고, 여러 패키지를 동시에 설치하여 시간을 절약할 수 있다.
- 캐시
npm은 패키지를 설치할 때마다 캐시를 사용한다. 이는 빠른 패키지 설치를 지원하지만, 캐시 용량이 늘어날 수 있다.
pnpm은 패키지를 설치할 때 한 번만 캐시를 사용하고, 이로 인해 캐시 용량을 절약할 수 있다.
- CLI 인터페이스
npm과 pnpm은 CLI 인터페이스가 서로 다르다. pnpm은 npm보다 더 직관적이고 간결한 인터페이스를 제공한다.
※ CLI 인터페이스 : 명령줄 인터페이스(영어: command-line interface, CLI, 커맨드 라인 인터페이스) 또는 명령행 인터페이스, 명령어 인터페이스는 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다.
'Javascript' 카테고리의 다른 글
| JS) length 메소드 (1) | 2024.09.12 |
|---|---|
| JS)next.js- Server/Client Component (0) | 2024.08.13 |
| JS) Fetch API (0) | 2023.12.09 |
| JS) instance of 연산자 (0) | 2023.01.27 |
| JS) npm 검색&업데이트&삭제 (0) | 2023.01.20 |