컴퓨터를 사용하면 다양한 소프트웨어는 필수 불가결한 요소가 되었습니다. 개인 사용자부터 큰 기업에 이르기까지, 사람들은 업무 효율을 높이고 일상을 간편하게 만들어주는 여러 프로그램들에 의존하고 있습니다. 대부분의 사용자는 필요한 애플리케이션을 그들의 공식 웹사이트나 Microsoft Store와 같은 앱 스토어를 통해 다운로드 및 설치하는 방법을 선호합니다.
하지만, 이러한 전통적인 방법은 각 애플리케이션마다 별도의 설치 과정을 수행해야 하므로, 몇 개의 앱을 설치할 때는 문제가 되지 않을 수 있으나, 다수의 프로그램을 설치하거나 설치 과정을 자동화하고자 하는 사용자에게는 시간이 많이 소요되고 복잡할 수 있습니다.
이러한 필요성을 충족시키기 위해, Microsoft에서는 Windows 사용자를 위한 새로운 해결책으로 Winget이라는 패키지 관리자를 제공합니다. Winget은 명령줄 인터페이스를 통해 다양한 소프트웨어 패키지의 설치, 업데이트, 제거 등을 간편하게 할 수 있게 해주는 도구입니다. Winget 더 알아보기
Winget은 기본적으로 Windows 10 버전 1809 이상에서 사용 가능한 도구로, 현재는 시스템에 기본적으로 설치되어 있어 바로 사용할 수 있습니다. 그러나, 어떤 이유로 Winget을 시스템에서 찾을 수 없거나 이전에 제거했다면, Microsoft Store 등 다음 과정을 통해 간단히 다시 설치할 수 있습니다.
튜토리얼 환경: 윈도우 11 Pro (빌드: 22631.3155), Windows PowerShell
요구사항
Windows 10, Windows 11, Windows Server 2022, Windows Sandbox에서는 Winget을 사용할 수 있습니다. 다만, Windows Server 2019에서는 Winget을 사용할 수 없습니다.
- 호환 가능한 운영 체제:
- Windows 10: 버전 1809 이상의 모든 버전이 호환됩니다. 즉, 1809, 1903, 1909, 2004, 20H2, 21H1, 등의 모든 버전이 포함됩니다.
- Windows 11: Windows 11 운영 체제에서 완벽하게 호환됩니다.
- Server 2022: Windows Server 2022에서도 완벽하게 호환됩니다.
- Windows Sandbox: Windows Sandbox 환경에서도 Winget을 사용할 수 있습니다.
- 호환되지 않는 운영 체제:
- Server 2019: Windows Server 2019에서는 Winget이 지원되지 않습니다. 따라서 이 운영 체제에서는 Winget을 사용할 수 없습니다.
설치 상태 확인
Windows 10 22H2 또는 Windows 11 22H2 버전을 사용하는 경우 별도 추가 과정없이 Winger을 사용할 수 있습니다. 설치 여부를 확인할 수 없는 경우 명령 프롬프트 또는 PowerShell을 통해 다음 명령으로 현재 설치가 되어 있는지 확인합니다. 본문에서는 PowerShell을 기준으로 안내합니다.
Windows PowerShell을 열고 다음 명령을 작성하거나 붙여넣기( Ctrl + V )한 뒤 Enter키로 실행 합니다. 이후 위와 같은 오류가 발생하면 설치되지 않은 상태이며, 버전 등 관련 정보가 표시되면 설치가 완료된 것입니다.
winget
설치 방법
Winget은 PowerShell 갤러리, 웹 설치 프로그램, Microsoft Store, 또는 직접 다운로드 및 실행을 통해 설치할 수 있습니다. PowerShell 갤러리에서는 NuGet 패키지 공급자를 설치한 후 명령 실행이 필요하며, 직접 다운로드 및 실행할 때는 단축 URL이나 GitHub 릴리스 URL을 사용할 수 있습니다. 또는 PowerShell을 통해 스크립트를 한 줄로 다운로드하고 실행하여 간편하게 설치할 수 있습니다.
PowerShell 갤러리를 통한 설치(권장)
PowerShell 갤러리에서 Winget을 설치할 수 있습니다. 테스트를 거친 공개 릴리스 버전을 받을 수 있고, 명령어가 간단하며, 모든 매개변수를 지원하기 때문에 권장되는 방식으로 공식 안내하고 있습니다.
관리자 권한으로 PowerShell을 열고 다음 명령으로 먼저 NuGet 패키지 공급자를 설치합니다. -Force
옵션은 스크립트가 오래된 경우 강제로 업데이트합니다.
Install-PackageProvider -Name "NuGet" -Force
이어서 PSGallery 리포지토리를 신뢰할 수 있도록 설정하라는 팁을 제공합니다. 이렇게 하면 매번 실행할 때마다 확인 프롬프트가 표시되지 않습니다.
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
이제 다음 명령을 실행하면 PowerShell 갤러리에서 winget-install 스크립트를 다운로드해서 스크립트를 실행해 WinGet 설치를 시작합니다. 설치 중에는 진행상황 프롬프트가 표시되고 상단에 진행 바가 잠시 보여지게 됩니다.
Install-Script winget-install -Force
웹 설치 프로그램 사용
Winget 공식 저장소에서 최신 버전의 웹 설치 프로그램을 다운로드하여 실행하면 Winget이 설치됩니다.
자주 사용하는 검색 엔진을 통해 Winget
등의 키워드로 검색 후 결과에서 를 찾아 클릭합니다. 또는 아래 바로가기 링크를 통해 빠르게 이동할 수 있습니다.
GitHub 페이지로 이동 후 우측 Releases 섹션을 보면 와 같은 형태의 링크를 확인할 수 있는데 이 부분을 클릭합니다.
이어지는 페이지에서 가장 아래로 이동하면 Assets 영역이 보이게 됩니다. 여기서 라는 이름의 파일을 클릭해 다운로드합니다.
다운로드 경로로 이동 하면 앞선 링크 형식의 파일을 찾을 수 있습니다. 이 파일을 마우스로 두 번 클릭하거나 컨텍스트 메뉴의
를 선택합니다.라는 제목의 창이 팝업되는데 여기서 를 선택한 뒤 을 클릭합니다. 이후 Microsoft Store로 연결되고 설치가 완료됩니다.
Microsoft Store를 통한 설치
명령줄 사용에 어려움이 있다면 Microsoft Store 앱을 통해서 간단하게 설치하고 관리할 수 있습니다. 다만, 최신 버전을 빨리 설치하고 싶다면 PowerShell 갤러리나 GitHub 방식을 사용해야 합니다.
시작 메뉴 또는 검색으로 Microsoft Store를 찾아 실행한 뒤 앱 설치 관리자
로 검색합니다. 위와 같이 검색이 되지 않는 경우가 있는데 이때 다음 바로가기 링크를 클릭하면 해당 페이지로 연결됩니다.
링크를 통해 실행하면
라는 메시지가 팝업됩니다. 여기서 를 클릭합니다.앱 설치 관리자 페이지로 이동이되고 우측 상단 를 클릭하면 설치가 진행됩니다.
WinGet 설치 스크립트를 직접 다운로드하여 즉시 실행(참고용)
이외에도 다음과 같은 방식으로 WinGet 설치 스크립트를 직접 다운로드하여 즉시 실행할 수 있습니다. 이 방식의 장점은 단순하고 빠르게 WinGet을 설치할 수 있다는 점입니다. 특히 스크립트 다운로드와 실행을 한 줄에 처리할 수 있습니다. 다만, 매개변수를 지정하려면 약간 복잡한 ScriptBlock 실행 방식을 사용해야 한다는 점입니다. 또한 인터넷에서 직접 스크립트를 실행하므로 위험할 수 있습니다.
asheroto.com/winget
단축 URL
asheroto.com/winget
단축 URL을 통해 Winget 설치 스크립트를 다운로드하고 실행하는 방법은 크게 두 가지입니다. 첫 번째 방법은 매개변수 없이 스크립트를 바로 실행하는 것이고, 두 번째 방법은 -Force 매개변수를 포함하여 보다 세밀한 제어가 가능한 실행 방식입니다. 이를 통해 사용자는 PowerShell을 활용하여 쉽고 빠르게 Winget을 설치할 수 있습니다.
- 매개변수 없이 실행:
irm asheroto.com/winget | iex
irm asheroto.com/winget
:Invoke-WebRequest
로 단축 URL에서 스크립트를 다운로드합니다. 이 커맨드는 PowerShell에서 웹 요청을 보내고, 웹 서버로부터 응답을 받는데 사용됩니다.| iex
: 파이프라인(|
)을 사용하여Invoke-WebRequest
로부터 받은 스크립트 내용을Invoke-Expression
에 전달합니다.Invoke-Expression
은 문자열로 된 코드를 실행할 수 있게 해주는 커맨드입니다. 이 과정을 통해 다운로드 받은 스크립트가 바로 실행됩니다.
- 매개변수(-Force) 지정:
&([ScriptBlock]::Create((irm asheroto.com/winget))) -Force
irm asheroto.com/winget
: 이 부분은 위와 동일하게, 단축 URL을 통해 Winget 설치 스크립트를 다운로드합니다.[ScriptBlock]::Create(...)
: 다운로드한 스크립트를 ScriptBlock 객체로 변환합니다.&(...)
: 변환된 ScriptBlock을 실행합니다. 여기서 &은 PowerShell에서 ScriptBlock이나 커맨드를 실행하는데 사용되는 연산자입니다.-Force
:-Force
매개변수를 지정합니다. 이 매개변수는 스크립트 실행 시 특정 조건(예: 보호된 파일의 강제 변경)을 무시하고 강제로 진행하게 하는 옵션입니다. 스크립트에 따라 필요한 경우가 있을 수 있습니다.
winget.pro 단축 URL
winget.pro
단축 URL을 사용하는 방법도 역시 두 가지가 있으며, 이는 asheroto.com/winget
단축 URL을 사용하는 방법과 유사합니다. 이를 통해 사용자는 PowerShell을 이용하여 Winget 설치 스크립트를 실행할 수 있습니다. 각 방법에 대한 세부 내용은 아래와 같습니다.
- 매개변수 없이 실행:
irm winget.pro | iex
irm winget.pro
:Invoke-WebRequest
커맨드를 활용해winget.pro
단축 URL을 통해 스크립트를 다운로드합니다. 이 명령어는 웹 요청을 보내고 웹 서버로부터 응답을 받기 위해 사용되며, 이 경우에는winget.pro
로부터 직접 스크립트 내용을 받아옵니다.| iex
: 파이프라인(|
)을 사용해Invoke-WebRequest
로부터 받은 스크립트 내용을Invoke-Expression
에 전달하고 실행합니다. 이 커맨드는 문자열 형태의 코드를 실행 가능하게 하는데, 이를 통해 다운로드 받은 스크립트가 즉시 실행됩니다.
- 매개변수(-Force) 지정:
&([ScriptBlock]::Create((irm winget.pro))) -Force
irm winget.pro
: 위와 동일하게,winget.pro
단축 URL을 통해 Winget 설치 스크립트를 다운로드합니다.[ScriptBlock]::Create(...)
: 다운로드한 스크립트를ScriptBlock
객체로 변환하는 과정입니다. PowerShell에서ScriptBlock
은 실행 가능한 코드 블록을 의미하며, 이 변환을 통해 스크립트를 안전하게 실행할 수 있습니다.&(...)
: 변환된ScriptBlock
을 실행합니다.&
연산자는 PowerShell에서ScriptBlock
이나 커맨드를 실행하는데 사용됩니다.-Force
: 이 옵션은 스크립트 실행 시 특정 조건을 무시하고 강제로 실행하도록 합니다. 이는 스크립트가 요구하는 특별한 조건이 있을 때 유용할 수 있습니다.
GitHub 직접 릴리스 URL
단축 링크가 아닌 실제 GitHub 저장소의 최신 릴리즈 버전 링크를 통해 바로 다운로드해서 설치할 수 있습니다. 이 방법은 GitHub에서 제공하는 최신 릴리스 기능을 활용하여, 사용자가 수동으로 버전을 확인하고 다운로드할 필요 없이 항상 최신 버전의 설치 스크립트를 실행할 수 있도록 합니다.
irm https://github.com/asheroto/winget-install/releases/latest/download/winget-install.ps1 | iex
irm https://github.com/asheroto/winget-install/releases/latest/download/winget-install.ps1
:Invoke-WebRequest
의 단축 명령어인irm
을 사용하여 GitHub의asheroto/winget-install
저장소에서 최신 릴리스의winget-install.ps1
스크립트 파일을 다운로드합니다. 이 URL은 GitHub에서 제공하는, 특정 저장소의 최신 릴리스를 직접 가리키는 고유한 방식을 사용합니다. 이를 통해 사용자는 항상 최신 버전의 스크립트를 받아올 수 있습니다.
| iex
:- 다운로드한 스크립트 내용을 파이프라인을 통해
Invoke-Expression
커맨드로 전달하고 실행합니다.iex
는 PowerShell에서 문자열로 된 스크립트를 실행할 수 있게 해주는 커맨드입니다. 이 과정을 통해 사용자는 별도의 파일 다운로드, 저장, 실행 과정 없이 스크립트를 바로 실행할 수 있습니다.
- 다운로드한 스크립트 내용을 파이프라인을 통해
설치 완료
이제 명령 줄에 다음과 같이 입력 해 다시 설치가 완료되었는지 확인할 수 있습니다.