상추의 IT저장소

JS)pnpm 본문

Javascript

JS)pnpm

구너상추 2024. 7. 30. 00:35

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