자바스크립트 패키지 매니저 정리 (feat. npm, pnpm, yarn)

@JHSHIN·2023년 12월 14일
0

패키지 매니저

패키지 매니저는 개발에 필요한 패키지를 설치, 수정, 삭제하는 등의 작업을 편리하게 도와주는 도구라고 할 수 있다.

자바스크립트 패키지 매니저로 주로 사용되는 것은 npm, yarn, pnpm 이 있다.

  1. npm
    • Node.js를 설치하면 자동으로 설치되므로 별도의 설치 과정이 필요하지 않다는 장점을 가지고 있음.
    • npm은 현재 가장 많은 패키지를 보유하고 있어 다양한 패키지를 쉽게 이용할 수 있음.
    • npm은 package.json을 통해 버전 관리가 가능하며 패키지의 의존성을 쉽게 관리할 수 있지만, 하나의 문제가 발생하면 다른 것들에도 문제가 발생할 수 있다는 단점이 있음.
    • npm은 패키지에 대한 보안 취약점이 있을 수 있음. npm registry에 등록된 패키지들은 누구나 수정하고 업데이트할 수 있어서, 신뢰할 수 없는 패키지를 설치하게 될 수 있음. 이로 인해 개발 환경이나 프로덕션 환경에 해를 끼칠 수 있음.
  2. yarn
    • yarn은 Facebook 개발자들과 구글 개발자들이 함께 개발한 패키지 매니저로, npm보다 빠른 설치 속도를 자랑한다. → 여러 개의 패키지를 순차적으로 설치를 하는 것이 아니라 병렬적으로 설치를 해주기 때문
    • yarn은 npm의 취약점이었던 보안 문제를 해결해서 보다 안전하다는 장점이 있다.
  3. pnpm
    • pnpm은 npm과 yarn의 장점을 모두 가지고 있는 패키지 매니저이고, “performant npm”의 약자로 효율적인 npm이라는 의미를 가지고 있음.
    • pnpm의 경우에는 프로젝트별로 node_modules에 매번 패키지를 설치했던 것과는 달리 global 저장소에 패키지를 한 번만 저장함으로써 저장 공간을 절약할 수 있다는 아주 큰 장점이 있음 → pnpm을 사용한다면 똑같은 라이브러리를 중복해서 설치할 필요가 없다는 뜻.
    • 특정 패키지를 한 번만 설치하기 때문에 프로젝트별로 연결을 해놓으면 호환 문제가 발생할 수 있다. 따라서 프로젝트끼리 호한 문제가 발생하지 않도록 버전 관리를 반드시 해줄 필요가 있다.
profile
We Need Better UX

0개의 댓글