주제 선정 배경

프로젝트 개발마다 어떤 패키지 매니저를 사용할지 결정해야 하는데, 저는 프로젝트 특성과 연결 지어 고민 해본 경험이 없어 이번 기회로 학습해보고자 이 주제로 결정하게 되었어요.

개인적인 이유 외에도, 패키지 매니저의 동작 방식을 이해하면 의존성 문제 해결 등 여러 방면에 도움이 되기 때문에 공부해두면 좋은 주제라고 생각했습니다.

패키지 매니저

서비스를 개발할 때, 모든 부분을 혼자서 구현하는 게 아니라 필요한 기능을 구현해둔 라이브러리를 설치해서 잘 만들어진 기능을 가져다 쓰는 경우가 대부분입니다.

패키지 매니저는 이렇게 프로젝트에서 가져다 쓰는 라이브러리를 관리하는 역할을 하며, 구체적으로 다음과 같은 역할로 정리할 수 있어요.

아래는 https://devocean.sk.com/blog/techBoardDetail.do?ID=166592&boardType=techBlog에서 발췌한 내용이에요.

npm (node package manager)

npm은 Node.js와 같이 설치되는 공식 패키지 매니저이기 때문에 별도로 설치할 필요가 없어요.

하지만 비효율적인 의존성 검색, 일관되지 않은 동작, 비효율적인 설치 과정 등 여러 단점을 가지고 있습니다.