개발 일지

npm 과 pnpm 의 공통점/차이점

계란💕 2025. 5. 17. 19:36

Vue.js 를 빌드할 수 있는 도구에는  webpack, vite가 있다. 

그동안 회사에서 webpack을 써왔는데 이번에 Next.js (= React + 백엔드) 프로젝트를  Vite 기반의 Vue.js 로 리팩토링하는 중이다. 

Vite 라는 도구는 들어봤지만 사용해보는건 처음이라 관련된 명령어 npm, pnpm 공통점, 차이점에 대해 알아보려한다. 

 

 

node.js란? 

JavaScrpit를 실행하기 위한 런타임 환경. 

Java로 따지면 JRE(Java Runtime Environment = JVM + 라이브러리, 자바 런타임 환경)

 

 

  npm pnpm 
방식 Node.js 패키지 관리자. 명령어 대부분 동일
사용 webpack 에서 사용 vite 에서 사용
효율성 비효율
각 vue.js 프로젝트마다 node_modules 폴더가 있는데 이곳에 라이브러리 저장. 즉, 여러 프로젝트에 중복된 라이브러리가 저장될 수 있다. 디스크 공간을 낭비.
효율적
특정한 공유 저장소(전역 캐시)에 여러 Vue.js 프로젝트의 라이브러리가 모두 저장.
각 프로젝트에서는 심볼릭 링크만 연결하므로 중복이 없다. 
속도 

중복해서 다운 받기 때문에 느리다. 

캐시를 재사용하므로 빠름
호환성 안정적이며 가장 표준적이라 호환성이 높다.  경로 문제(심볼릭 링크 구조 관련)