프로그래밍 언어/NEXT.JS

[NEXT.JS] 패키지 매니저 (NPM, YARN, PNPM)

doomole 2024. 5. 24. 11:30
728x90

패키지 매니저(Package Manager)

개발에 필요한 다양한 패키지를 설치하고 수정하는 작업을 도와주는 도구이다.

패키지 간의 의존관계를 고려하여 설치 및 수정을 도와주기 때문에 필수로 사용해야할 도구이다.

 

 

NPM

NODE JS 에 내장되어 있는 패키지 매니저로 NODE만 설치되어 있다면 별도의 설치없이 사용이 가능하다.

NPM에서 직접 개발한 모듈뿐만 아니라 일반 사용자들이 개발한 모듈도 있고, 가장 역사가 길기 때문에 다양한 모듈을 사용할 수 있다.

단점으로는 의존관계에 대해서 모듈 하나가 문제가 발생할 경우 의존된 다른 모듈에도 문제가 발생할 수 있다.

 

첫째줄 명령어를 통해 package.json을 생성하고, 

둘째줄 명령어를 통해 필요한 모듈들을 설치할 수 있다.

npm init
npm install <모듈명>

 

 

YARN

NPM의 보안적인 약점을 개선하면서 나온 패키지 매니저이다.

따라서, NPM보다 안정성을 보장하고 있고, 속도도 NPM에 비해 빠르다.

현재는 NPM보다 YARN을 더 많이 사용하는 추세로 변화하고 있다.

 

첫째줄 명령어를 통해 YARN을 설치하고

둘째줄 명령어를 통해 YARN 폴더를 생성한다.

npm install yarn
yarn init

 

 

 

PNPM

"Perfomant NPM"의 약자로 효율적인 NPM이라는 뜻의 패키지 매니저이다.

NPM은 프로젝트별로 NODE_MODULES 디렉토리에 모듈을 설치하는데,

PNPM은 global 저장소에 패키지를 한 번만 저장하여 저장공간을 효율적으로 사용한다.

 

단점은 모든 프로젝트가 같은 모듈을 사용하기 때문에, 버전 관리가 필요하다.

 

 

어떤 패키지를 사용해야 하는지에 대한 뚜렷한 가이드는 없고,

NPM의 경우에도 꾸준히 보안 업데이트를 통해 개선을 하고 있기 때문에

개발자 본인이 사용하기 편리한 것을 사용하면 될 것 같다.

 

 

문의사항이나 피드백은 댓글로 남겨주세요.