Package Manager
패키지 매니저란 패키지를 다루는 작업을 편리하고 안전하게 수행하기 위해 사용되는 툴.
설치 업데이트 삭제 등과 의존성을 관리해준다.
- 다른 개발자들이 작성한 코드를 쉽게 다운로드 받거나, 내가 작성한 코드를 배포하여 다른 사람들에게
제공할 수 있게 된다.
- 여러 개발자들이 만든 수많은 패키지들을 효과적으로 활용하여, 프로젝트를 더 빠르고 안정적으로 만들 수 있다.
Package란 ?
코드의 재상용성을 높이기 위해 독립적인 코드 조각을 “모듈”이라고 부른다.
.npm이나 yarn 과 같은 패키지 매니저를 통해 업로드하여 다른 개발자들과 공유할 때,
이를 패키지라고 한다. (배포를 위한 코드의 묶음)
Dependency란 ?
의존성, 많은 패키지들은 다른 패키지가 설치되어 있어야만 제대로 동작한다.
이 경우 기존 패키지를 제대로 동작시키기 위해 필요한 다른 패키지를 'Dependency' 라고 한다.
따라서 패키지를 사용하고자 할 때 dependency에 해당되는 다른 패키지들을 전부 설치해줄 필요가 있다.
새로운 패키지들을 설치하는 도중 이번엔 설치하고 있는 패키지의 dependency를 설치해야 하는 상황이 발생할 수 있다.
dependency의 dependency를 설치하는 경우가 생기며, 이런 상황이 끊임없이 이어질 경우 사용자가 수동으로
패키지를 관리하기가 불가능에 가까워진다. 따라서 각각의 패키지가 자신의 dependency에 대한 정보를 가지게 한다면,
사용자가 사용하고자 하는 패키지의 dependency를 패키지 매니저를 통해 쉽게 설치하도록 도울 수 있다.
> lock파일에 패키지의 의존성이 기록된다.