pnpm(Permissive Node Package Manager)이란?
PNPM은 Node.js 패키지 관리자의 대안으로, 프로젝트의 종속성을 관리하는 도구입니다. NPM과 마찬가지로 패키지를 설치하고 관리할 수 있지만, 패키지를 저장할 때 심볼릭 링크를 사용하여 공간을 절약하고 성능을 향상시킵니다. PNPM은 패키지를 공유하고 캐시 하여 다른 프로젝트에서 재사용할 수 있습니다.
PNPM의 주요 특징은 다음과 같습니다:
1. 공간 절약: PNPM은 패키지를 공유하여 디스크 공간을 절약합니다. 각 패키지는 심볼릭 링크를 통해 공유되며, 동일한 패키지가 여러 프로젝트에 설치되어도 실제로 한 번만 저장됩니다.
2. 빠른 설치: PNPM은 패키지를 캐시 하여 다시 다운로드하지 않고 사용할 수 있습니다. 따라서 패키지를 설치하는 데 걸리는 시간이 단축됩니다.
3. 효율적인 업데이트: PNPM은 패키지를 개별적으로 업데이트할 수 있으며, 패키지 간의 종속성 충돌을 방지합니다.
4. 단순한 사용: PNPM은 NPM과 비슷한 명령어를 사용하여 패키지를 설치하고 관리할 수 있습니다.
PNPM은 Node.js 프로젝트에서 패키지 관리를 향상시키는 유용한 도구로, 디스크 공간을 절약하고 패키지 설치 시간을 단축하여 개발자들에게 효율성과 생산성을 제공합니다.
npm과 pnpm의 차이점
npm과 pnpm은 모두 JavaScript 패키지 관리 도구 중 하나로, Node.js 프로젝트에서 의존성을 관리하고 패키지를 설치하는 데 사용됩니다. 하지만 둘 사이에는 몇 가지 중요한 차이점이 있습니다.
1. 패키지 설치 방식:
- npm: 기본적으로 패키지를 설치할 때 패키지를 로컬 `node_modules` 폴더에 설치합니다. 이는 각 프로젝트에 의존성이 별도로 설치되어 프로젝트마다 의존성 버전이 격리되는 장점이 있습니다.
- pnpm: 패키지를 공유 레지스트리에 설치하고, 모든 프로젝트가 공유된 패키지 캐시를 사용합니다. 따라서 각 의존성이 한 번만 설치되고 여러 프로젝트에서 공유됩니다.
2. 디스크 공간 사용:
- npm: 각 프로젝트에 별도로 의존성을 설치하므로, 여러 프로젝트에서 동일한 패키지를 사용하더라도 디스크 공간을 많이 차지할 수 있습니다.
- pnpm: 공유 패키지 캐시를 사용하기 때문에 여러 프로젝트 간에 패키지를 공유하여 디스크 공간을 절약할 수 있습니다.
3. 속도:
- npm: 각 프로젝트에 의존성을 설치할 때마다 패키지를 다운로드하고 설치해야 하므로, 설치 시간이 오래 걸릴 수 있습니다.
- pnpm: 패키지를 한 번 다운로드하고 공유 캐시에 저장하므로, 초기 설치 시간은 빠를 수 있습니다.
4. 의존성 관리:
- npm: `package-lock.json` 파일을 사용하여 의존성 버전을 잠그고 관리합니다.
- pnpm: 의존성을 잠그는 대신에 `pnpm-lock.yaml` 파일을 사용하여 의존성 트리를 관리합니다. 또한, 각 의존성이 공유되므로 한 프로젝트에서 패키지 버전을 업데이트하면 다른 프로젝트에도 반영됩니다.
요약하면, npm은 로컬 프로젝트마다 의존성을 설치하여 디스크 공간을 많이 차지하고 시간이 오래 걸릴 수 있지만, pnpm은 공유 패키지 캐시를 사용하여 디스크 공간을 절약하고 빠른 설치 속도를 제공합니다.
pnpm 설치 방법
1. Node.js 다운로드 및 설치(pnpm 설치 시 npm 명령어를 사용해야 합니다.)
2. 터미널을 열어서 npm install -g pnpm 명령어를 실행합니다.
$ npm install -g pnpm
pnpm이 정상적으로 설치되었습니다.
3. 설치된 pnpm 버전을 확인하려면 pnpm --version 명령어를 실행합니다.
$ pnpm --version
명령어를 통해서 pnpm 버전을 확인하실 수 있습니다.
'IT > Node.js' 카테고리의 다른 글
[Node.js] - NPM(Node Package Manager)란 ? (0) | 2023.08.20 |
---|---|
[Node.js] - Node.js 다운로드 및 설치 방법 (0) | 2023.08.20 |
[Node.js] - Node.js란? (0) | 2023.08.19 |
댓글