Package Manager
1. 개요
소프트웨어 패키지를 관리하는 프로그램. 단순히 이야기하면 설치된 프로그램을 관리하는 프로그램으로써 프로그램을 깔거나 업데이트,제거하는 용도로 쓰이는 프로그램이다.일반적인 설치 매니저를 이용한 설치에 익숙한 사람이라면 왜 이런게 필요한가 싶겟지만 패키지 관리자를 쓸 경우 대량의 프로그램을 스크립트를 통해서 한꺼번에 깔거나 패키지에 따라서는 의존성이 필요한 다른 패키지에 대해서 경고하고 같이 설치할수도 있는등 더 편한 장점또한 있다.
소프트웨어 개발에 쓰는 외부 라이브러리 또한 이렇게 패키지 관리자를 통해 관리하는것이 보편화 되었으며 덕분에 디펜던시 관리에 있어서 매우 편하게 관리할 수 있게 되었다. 이런 패키지 매니저를 에플리케이션 레벨 패키지 관리자 라고 부른다.
2. 패키지 매니저 목록
2.1. 시스템 레벨 패키지 관리자
- Winget: 정식 명칭은 Windows Package Manager로 MS에서 내놓은 윈도우용 패키지 관리자이다.
- Chocolatey: 오픈소스 윈도우용 패키지 매니저.
- Advanced Package Tool: 약어인 APT더 잘 알려진 툴로써 데비안쪽 계열의 OS에서 사용하는 패키지 매니저.
2.2. 에플리케이션 레벨 패키지 관리자
- vcpkg - Microsoft가 오픈소스로 제공하는 C++ 용 패키지 관리자
- Conan - 스크립트로 Python을 사용하는 C++ 용 패키지 관리자
- npm - JavaScript용 패키지 관리자
- NuGet - .NET쪽(거의 C#) 라이브러리 패키지 관리자. Visual Studio에 기본적으로 통합되어 있다.
- pip - Python용 패키지 관리자
- 아나콘다(파이썬/R)
- Cargo - Rust 설치 시 자동으로 같이 설치되는 패키지 관리자
2.3. ESD
코드를 주는게 아닌 설치과정까지 관리하는 ESD는 엄밀히 말하면 패키지 매니저의 일종이다. 비슷하게 앱스토어나 구글 플레이같은 소프트웨어도 패키지 매니저다.