[목차] Package Manager == 개요 == 소프트웨어 [[패키지]]를 관리하는 프로그램. 단순히 이야기하면 설치된 프로그램을 관리하는 프로그램으로써 프로그램을 깔거나 업데이트,제거하는 용도로 쓰이는 프로그램이다. 일반적인 설치 매니저를 이용한 설치에 익숙한 사람이라면 왜 이런게 필요한가 싶겟지만 패키지 관리자를 쓸경우 대량의 프로그램을 스크립트를 통해서 한꺼번에 깔거나 패키지에 따라서는 의존성이 필요한 다른 패키지에 대해서 경고하고 같이 설치할수도 있는등 더 편한 장점또한 있다. 소프트웨어 개발에 쓰는 외부 라이브러리 또한 이렇게 패키지 관리자를 통해 관리하는것이 보편화 되었으며 덕분에 디펜던시 관리에 있어서 매우 편하게 관리할 수 있게 되었다. 이런 패키지 매니저를 에플리케이션 레벨 패키지 관리자 라고 부른다. == 패키지 매니저 목록 == === 시스템 레벨 패키지 관리자 === * [[https://github.com/microsoft/winget-cli/releases|Winget]]: 정식 명칭은 [[https://learn.microsoft.com/ko-kr/windows/package-manager/|Windows Package Manager]]로 MS에서 내놓은 윈도우즈용 패키지 관리자. 그런데 윈도라는 OS 자체가 CLI환경이 좋은편이 아니라서 일부 개발자들을 제외하면 Winget이 있다는걸 모르는 사람이 더 많으며 사실 애초에 MS답지 않게 윈도우10 기준으로 기본 상태에서는 아예 깔려있지가 않다.[* 윈도10 기본상태에서는 안깔려있으며 1809 이후 업데이트를 설치했거나 윈도 11상태라면 winget이 기본으로 깔려나온다] 오픈소스에 친화적인 노선을 탄 최근에 나왔기 때문에 Winget 또한 MIT라이센스로 소스코드가 공개되어 있다. * [[https://chocolatey.org/|Chocolatey]]: 오픈소스 윈도우즈용 패키지 매니저. 다만 위의 Winget이 나온 이후로는 대체되는 중이다. * [[https://salsa.debian.org/apt-team/apt|Advanced Package Tool]]: 약어인 [[APT#s-5|APT]]더 잘 알려진 툴로써 데비안쪽 계열의 OS에서 사용하는 패키지 매니저. === 에플리케이션 레벨 패키지 관리자 === * [[https://vcpkg.io/en/index.html|vcpkg]]:MS가 오픈소스로 제공하는 [[C++]]용 패키지 관리자. * [[npm]] * [[https://www.nuget.org/|NuGet]]: 닷넷쪽(거의 C#) 라이브러리 패키지 관리자. VS에 기본적으로 통합되어 있다. * [[https://pip.pypa.io/en/stable/|pip]] 파이썬용 패키지 관리자. * [[아나콘다(파이썬/R)]] === [[ESD]] === [include(틀:다른 뜻1, other1=ESD의 자세한 설명에 대해서는, rd1=전자 소프트웨어 유통망)] 코드를 주는게 아닌 설치과정까지 관리하는 ESD는 엄밀히 말하면 패키지 매니저의 일종이다. 비슷하게 [[앱스토어]]나 [[구글 플레이]]같은 소프트웨어도 패키지 매니저다. [[분류:소프트웨어]]