이런저런 IT 이야기
article thumbnail
Published 2023. 5. 31. 12:56
pnpm? Install
반응형



pnpm은 효율적인 패키지 매니저로서 JavaScript 및 TypeScript 프로젝트에서 종속성을 관리하는 데 사용됩니다. 다음은 pnpm의 주요 특징과 이점입니다:

1. 공유 패키지 캐시: 일반적으로 패키지 매니저는 각 프로젝트마다 종속성을 별도로 다운로드하고 설치합니다. 따라서 여러 프로젝트에서 동일한 패키지를 사용할 경우, 중복된 패키지를 각각 다운로드해야 하는 단점이 있습니다. 이는 디스크 공간의 낭비와 다운로드 시간의 증가로 이어질 수 있습니다. 하지만 pnpm은 공유 패키지 캐시를 사용하여 이 문제를 해결합니다. 

2. 심볼릭 링크: 일반적으로 패키지 매니저는 각 프로젝트의 종속성을 해당 프로젝트의 로컬 디렉토리에 설치합니다. 그러나 pnpm은 다른 접근 방식을 채택합니다. 각 프로젝트의 종속성은 심볼릭 링크를 통해 전역 패키지 저장소에서 직접 참조됩니다. 이렇게 하면 여러 프로젝트 간에 동일한 패키지를 공유할 수 있으며, 해당 패키지에 대한 변경 사항이 실시간으로 모든 프로젝트에 반영됩니다. 종속성을 심볼릭 링크로 직접 참조하기 때문에 패키지를 중복으로 복사하지 않고도 패키지를 공유하고 관리할 수 있습니다 심볼릭 링크를 사용하면 여러 프로젝트 간에 종속성을 공유하고 변경 사항을 즉시 반영할 수 있으므로, 패키지 관리와 개발 프로세스를 더욱 효율적으로 만들어줍니다. 

3. 빠른 설치 및 업데이트: pnpm은 다른 패키지 매니저보다 빠르게 종속성을 설치하고 업데이트할 수 있습니다. 특히, 동일한 패키지의 다중 설치를 피하고, 변경된 패키지만 업데이트하는 데에도 뛰어난 성능을 발휘합니다.

  1. 빠른 설치: pnpm은 공유 패키지 캐시를 사용하여 이미 다운로드된 패키지를 재사용하므로, 종속성을 설치하는 데 걸리는 시간과 데이터 사용량을 줄일 수 있습니다. 또한, pnpm은 동시 설치를 지원하여 여러 패키지를 동시에 설치하여 설치 시간을 단축시킵니다.
  2. 빠른 업데이트: pnpm은 변경된 패키지만 업데이트하는 기능을 제공하여 불필요한 패키지 업데이트를 피할 수 있습니다. 이는 패키지의 의존성 트리를 분석하여 변경된 패키지를 식별하고, 해당 패키지만 업데이트하여 업데이트 시간을 단축시킵니다.


4. 효율적인 디스크 사용: 일반적인 패키지 매니저는 각 프로젝트마다 종속성을 별도의 디렉토리에 설치합니다. 이로 인해 여러 프로젝트에서 동일한 패키지의 중복된 복사본이 생성되어 디스크 공간을 낭비할 수 있습니다. 하지만 pnpm은 심볼릭 링크를 사용하여 종속성을 직접 참조하므로, 하나의 패키지에 대해 하나의 복사본만 저장됩니다. 심볼릭 링크를 통해 패키지를 공유하면서 디스크 공간을 효율적으로 활용할 수 있습니다. 또한, pnpm은 압축된 형식으로 패키지를 저장하여 저장 공간을 더욱 효율적으로 사용합니다. 압축된 패키지는 디스크 공간을 줄이고 패키지 다운로드 및 업로드 시간을 단축시킵니다. 이를 통해 pnpm은 패키지의 디스크 사용을 최적화하여 저장 공간을 절약하고 동시에 효율적인 패키지 관리를 제공합니다. 디스크 공간을 효율적으로 활용하면 여러 프로젝트를 동시에 다루거나 대규모 프로젝트를 다룰 때 이점을 더욱 누릴 수 있습니다.

5. 팀 협업 용이성: pnpm은 패키지 잠금 파일 및 워크스페이스 기능과 함께 팀 협업을 지원합니다. 여러 프로젝트에서 동일한 종속성 버전을 공유하고, 종속성 간의 충돌 문제를 최소화할 수 있습니다.

  1. 패키지 잠금 파일: pnpm은 패키지 잠금 파일을 생성하여 종속성 버전을 고정할 수 있습니다. 이를 통해 팀원들이 동일한 종속성 버전을 공유하고 일관성 있는 환경에서 작업할 수 있습니다. 패키지 잠금 파일은 프로젝트에 사용된 패키지의 정확한 버전을 기록하므로, 의존성 충돌을 방지하고 안정적인 빌드와 배포를 보장합니다.
  2. 워크스페이스: pnpm은 워크스페이스 기능을 제공하여 여러 프로젝트를 하나의 관리 단위로 그룹화할 수 있습니다. 워크스페이스를 사용하면 여러 프로젝트 간의 종속성을 효율적으로 공유하고 일관성 있는 종속성 관리를 할 수 있습니다. 이는 대규모 프로젝트의 모노레포 또는 멀티-패키지 프로젝트에서 특히 유용합니다.
  3. 팀원의 협업 환경 일치: pnpm은 팀원들이 동일한 패키지 매니저를 사용하도록 보장합니다. 이를 통해 모든 팀원이 동일한 환경에서 작업하고 종속성 관리에 일관성을 유지할 수 있습니다. 팀 내에서 다른 패키지 매니저를 사용하는 경우 발생할 수 있는 호환성 문제를 방지할 수 있습니다.


pnpm은 npm 및 yarn과 호환되는 구문을 사용하므로, npm 또는 yarn으로 실행할 수 있는 대부분의 명령어와 기능을 사용할 수 있습니다. 그러나 pnpm을 사용하여 패키지 설치, 업데이트, 삭제, 실행 등을 수행하면 더 빠르고 효율적인 종속성 관리를 경험할 수 있습니다. 따라서 pnpm은 JavaScript 및 TypeScript 프로젝트에서  패키지 매니저로 사용할 수 있는 강력하고 효율적인 도구입니다.

pnpm을 사용하려면 먼저 설치해야 합니다. 다음은 pnpm을 설치하는 방법입니다:

  • npm을 사용하여 pnpm 설치하기:
npm install -g pnpm
  • yarn을 사용하여 pnpm 설치하기:
yarn global add pnpm

pnpm을 설치한 후에는 프로젝트 디렉토리로 이동하여 다음과 같이 pnpm 명령어를 사용할 수 있습니다:

  • 종속성 설치: pnpm install
  • 종속성 추가: pnpm add [package]
  • 종속성 제거: pnpm remove [package]
  • 종속성 업데이트: pnpm update
  • 스크립트 실행: pnpm run [script]
반응형

'Install' 카테고리의 다른 글

Xcode & Android Studio 설치  (0) 2020.08.01
profile

이런저런 IT 이야기

@이런저런 IT 이야기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...

검색 태그