행위

Windows Package Manager

조무위키

Windows Package Manager. 줄여서 WinGet이라고 쓰고 실제 명령어도 winget으로 시작한다.

마이크로소프트에서 개발해 MIT 라이선스로 공개한 윈도우에 2020년경부터 딸려 나오는 패키지 매니저. 쉽게 말하면 CLI에서 맥의 homebrew처럼 한 줄로 프로그램을 설치하고, 관리하는 프로그램이다.

이걸 사용하면 프로그램 깔려고 브라우저를 켜서 검색 안해도 깔 수 있다. 즉, 크롬 깔려고 엣지를 열지 않아도 된다는 말이다.

아주 편리한 도구인데 아직 잘 모르는 사람들이 많다.

장점으로는 하술할 Scoop과는 달리 전통적인 방식인 Program Files이거나 AppData 아래(크롬처럼 사용자 권한 안 요구하는 프로그램들)에 설치하는 방식으로 가기 때문에 너가 나중에 GUI로 삭제하거나, 수동으로 다운받아서 업데이트해도 그게 다 연계가 된다는 점이다. 즉 호환성이 짱이다.

실제로는 설치를 하면 기존처럼 인스톨러는 돌아가는 경우가 많은데 (MSIX가 아닌 경우) 이것도 -i 옵션을 안 써주면 알아서 기본 옵션으로 깔아준다. 하지만 만약 해당 프로그램 옵션 설정이 필요하다면 -i를 추가해 줘야 한다.

하지만 단점으로는 최신 버전이 나왔어도 반영이 안되는 경우가 꽤 보이고, 찐빠나는 경우도 꽤 보인다. 또한 기능이 여전히 리눅스에 비하면 빈약하다.

경쟁 패키지 매니저로 먼저 나온 Chocolatey와 포터블 프로그램에 최적화된 Scoop이 있다. Scoop과는 달리 이 패키지 매니저는 전통적으로 Program Files에 설치된다는 차이가 있다. 반면 Scoop은 scoop 디렉토리가 유저 디렉토리 하위에 있고 거기에 깔린다.

사용 방법[편집]

검색[편집]

검색을 하려면 winget search "키워드"로 검색하면 된다.

설치[편집]

위에서 검색을 하면 인덱스에 id랑 이름이 뜨는데 이걸 이용해서 깔면 된다.

winget install "프로그램 id"이면 이건 프로그램 Id를 사용하는 거고 이름으로 하고 싶으면 --name 옵션을 붙여서 하면 된다.

여러 개 id를 나열해서 순차적으로 깔을 수도 있는데, 이럴 경우 관리자 권한을 얻고 하는 게 좋다. 그렇지 않으면 10번 설치하면 UAC 10번 물어본다.

-i 옵션을 붙여주면 인스톨러를 볼 수 있다. 간혹 안 보이는 경우도 있는데 이는 MSIX로 되어 있을 가능성이 크다. 그래도 잘 깔리면 깔렸다고 메시지가 나오니까 걱정 안 해도 된다.

업데이트[편집]

아쉽게도 Winget은 자동 업데이트 기능은 없다. 대신 winget update를 통해서 어떤 프로그램의 업데이트가 가능한 지 알 수 있고,

winget update(또는 upgrade) "패키지명"으로 설치해 주면 된다. 한번에 전부 업그레이드 할 경우 --all 스위치를 붙여주면 된다. 하지만 작성자 경험으로는, MariaDB처럼 LTS 버전 분리가 필요한데도 무턱되고 최신버전이 있다고 우기는 경우가 있었고, .NET 관련된 거라든가 Redistributable 같은 프로그램들이 나오는데 버전이 제대로 반영이 안되었다든가 이런 식으로 찐빠난 게 있었기에, 그냥 확인하고 설치하는 게 좋다고 본다.