PNPM은 "Performant NPM"의 약자로, 성능과 효율성을 강조한 패키지 매니저이다.
PNPM은 빠르고 효율적인 패키지 매니저로, Node.js 생태계에서 널리 사용되는 NPM과 Yarn의 대안이다.
PNPM은 패키지를 설치할 때 디스크 공간을 절약하고, 프로젝트의 종속성을 더 효율적으로 관리할 수 있도록 설계되었다.
node_modules
폴더에 모든 패키지를 복사한다. 이로 인해 동일한 패키지가 여러 프로젝트에 중복 설치되어 디스크 공간이 낭비될 수 있다.node_modules
에는 실제 파일 대신 심볼릭 링크(글 하단에 설명)를 생성한다. 이 방식은 패키지가 중복으로 저장되지 않도록 하여 디스크 공간을 절약한다.pnpm-lock.yaml
파일을 통해 의존성 트리의 모든 부분을 고정한다. 이를 통해 모든 개발자가 동일한 환경에서 동일한 패키지 버전을 사용하도록 보장한다.package-lock.json
파일을 사용하여 의존성을 관리하지만, 패키지 설치 방식이 다를 수 있다.PNPM은 패키지 관리의 효율성을 높이고, 디스크 사용량을 절감하며, 성능을 향상시키는 데 중점을 둔 패키지 매니저이다. 특히, 대규모 프로젝트나 모노레포 환경에서 뛰어난 성능과 관리 효율성을 제공하기 때문에, 많은 개발자들이 NPM이나 Yarn 대신 PNPM을 선택하고 있다.
- 파일 시스템에서 특정 파일이나 디렉터리의 위치를 가리키는 "참조" 역할을 하는 특별한 파일.
- 쉽게 말해, 심볼릭 링크는 원본 파일이나 폴더에 대한 "바로 가기" 같은 것.
- 기능: 심볼릭 링크를 열거나 접근하면 실제로는 원본 파일이나 폴더가 열리거나 접근된다.
- 장점: 동일한 파일이나 폴더를 여러 위치에서 사용할 수 있으면서, 실제로는 한 곳에만 저장되어 있어, 디스크 공간을 절약하고 관리 효율성을 높여준다.
- 예를 들어,
fileA
라는 파일에 대한 심볼릭 링크를 만들면, 이 링크를 통해fileA
를 마치 그 위치에 있는 것처럼 사용할 수 있다.
파일 시스템 내의 유연성:
- 파일이나 디렉토리를 여러 위치에서 사용해야 할 때, 심볼릭 링크를 사용하면 원본 파일을 복사할 필요 없이 간편하게 접근할 수 있다.