ougi FE

패키지매니저에 대하여📦 본문

카테고리 없음

패키지매니저에 대하여📦

ougi 2024. 8. 12. 23:04
728x90

오늘은 제가 React를 공부하기 시작했을 때 처음 봤는데 아직까지 패키지 매니저에 대해 알지 못하고 사용하고 있어 이렇게 글을 쓰게 되었습니다  


패키지매니저란?

패키지매니저는 개발에 필요한 여러 패키지를 설치하고 또 수정하고 업데이트하는 등 작업을 편리하게 해주는 도구입니다

그리고 패키지들을 의존성 있게 관리해줍니다

쉽게 말하자면 로젝트에 사용되는 패키지를 쉽게 관리하고 설치해주는 하나의 도구라고 할 수 있습니다 

 


🏆 패키지 매니저 중 대표 3가지

npm

패키지매니저의 시초라고 하고 node.js에 내장이 되어 있기 때문에 추가적인 설치는 필요하지 않습니다

그리고 모듈들을 직접 개발하지 않고 다른 사용자가 만들어놓은 다양한 모듈을 다운로드하여 이용할 수 있습니다

그리고 가장 오랜 시간 많은 사용자들이 사용을 해와서 생태계가 풍부하다는 단점이자 장점이 있습니다

다만 npm은 패키지들이 서로 의존하도록 되어있기 때문에 만약 하나의 문제가 발생한다면 다른 것들에게도 영향을 줄 수 있습니다 <- 이것을 관리하기 위해 package.json(프로젝트 정보, 설치된 패키지 목록 내장)이 필요합니다

 

🎯[ 사용법 ]

npm init

하면 package.json파일이 생성됩니다 그리고 실행하면 여러 질문이 나오는데 기본값으로 진행하려면 

npm init -y

명령어를 사용하면 됩니다


yarn

기존의 npm의 단점을 보완하며 등장한 패키지 매니저입니다 npm과 거의 동일하지만 큰 차이점은 보안입니다

그리고 yarn은 매우 빠른 속도를 가지고 있습니다 여러 패키지를 병렬적으로 설치해주기 때문입니다

이러한 이유로 최근에는 npm보다 yarn을 더 많이 사용하는 추세라고 합니다 

하지만 디스크 용량을 좀 더 많이 잡아먹는다는 단점이 존재합니다

++ yarn berry라는 상위버전으로 여러 개발과 개선이 되어지고 있지만 아직까지는 yarn을 더 많이 사용

 

🎯[ 사용법 ]

npm install -g yarn

npm을 통하여 설치해줍니다 그리고 새로운 프로젝트를 시작할 때

yarn init

으로 package.json을 생성하고 여러 질문을 받는데 그냥 기본값을 사용하려면 

yarn init -y

를 해주면 됩니다


pnpm

performant npm의 약자인데 효율적인 npm이라는 뜻으로 효율성이 장점이자 특징이라 할 수 있습니다

다른 패키지 매니저들은 node_modules에 매번 패키지를 설치하는데 pnpm은 global 저장소에 패키지를 한번만 저장함으로서 저장 공간이 절약된다는 아주 큰 장점을 가집니다 쉽게 말해 라이브러리를 한번만 설치해놓으면 다시 똑같은 라이브러리를 사용할 때 재설치를 하지 않아도 된다는 것입니다 다만 주의할 점은 특정 패키지를 한번만 설치하기 때문에 프로젝트 별로 연결을 해놓으면 호환 문제가 발생할 수 있습니다 따라서 호환 문제가 발생하지 않도록 버전 관리를 해야합니다

 

🎯[ 사용법 ]

npm install -g pnpm

npm을 통해 설치합니다

pnpm init

프로젝트를 시작할 때 package.json 파일을 생성해줍니다

다른 패키지매니저와 똑같이 기본값으로 하려면 -y 플래그를 붙여줍니다

pnpm init -y

글을 마치며

 

각각 패키지매니저 장점 요약

npm:
장점: 생태계가 풍부, 추가적인 설치X, 다른 사용자 모듈 이용 가능
단점: 생태계가 너무 풍부하다, 하나의 문제 발생 -> 다른 프로젝트에도 영향

yarn:
장점: 보안이 잘된다, 매우 빠르다
단점: 디스크 용량을 많이 차지한다

pnpm:
장점: 저장공간 절약
단점: 호환성 문제


이렇게 여러 장단점들이 있는 패키지매니저들 입니다 각자의 상황에 잘 맞는 패키지매니저를 선택하여 더욱 효율적이게 사용할 수 있길 바라겠습니다!!

728x90