winget 으로 Windows terminal 에서 패키지 관리하기

WSL 과 Windows terminal 에 이어서 MS 에서 드디어 패키지 관리자인 winget 까지 내놓았습니다.


아직은 알파 버전 수준이지만 Windows 가 OS X 못지 않은 개발자 친화적인 OS 로 거듭나고 있는 신호탄이라고 생각합니다.

사실 OS X 는 Apple 이 제공하는 패키지 관리자가 없고 brew 등의 패키지 관리자도 커뮤니티 제품입니다.

winget 설치

아직 안정 버전이 나오지 않았으므로 Windows store 에서 설치할 수는 없고 "Windows 패키지 관리자 참가자 프로그램" 에 가입해야 하지만 권장하지는 않습니다.

이보다는 winget 의 github 저장소에서 release 버전을 다운받아서 설치하는 방법을 권장합니다.

업데이트를 누르면 설치가 되고 이제 cmd 나 powershell 에서 winget 을 사용할 수 있습니다.


검색

패키지를 검색하려면 search 명령 뒤에 패키지 이름을 주면 됩니다.

winget search APPNAME 


패키지 정보 보기

검색한 패키지의 상세 정보를 보려면 show 명령어를 사용하면 됩니다

winget show node.js


버전 목록 나열

--versions 옵션을 사용하면 사용 가능한 버전 목록을 나열할 수 있습니다.

winget show node.js --versions


버전 목록중에 특정 버전에 대한 상세 정보가 궁금할 경우 버전 지정 옵션인 -v 뒤에 VERSION_NAME 을 명시하면 되며 아래는 nodejs 버전 12.18.3 에 대한 정보를 출력합니다.

winget show node.js -v 12.18.3


패키지 설치

설치는 install 명령 뒤에 설치할 패키지 이름을 지정하면 됩니다.

winget install node.js 


관리자 권한없이 설치할 경우 특정 app 는 권한 상승을 요구할 수 있습니다.


버전 지정 설치

설치시 기본적으로 최신 버전이 설치되므로 특정 버전을 원할 경우 -v 로 지정하면 됩니다. 다음은 nodejs 12.18.3 을 설치합니다.

winget install node.js -v 12.18.3


사용 가능한 버전 목록을 볼 경우 show 명령어와 --versions 옵션을 사용합니다.

 winget show python --versions

찾음 Python [Python.Python]
버전
------
3.9.1
3.9.0
3.8.7
3.8.6
3.8.5
3.8.4
3.8.3
3.8.1
3.7.9
3.7.7


이제 원하는 버전을 설치하면 됩니다.

winget install python -v 3.8.7


설정

winget  settings 명령으로 winget 의 동작 방식을 설정할 수 있습니다.

설정은 json 형식으로 하며 별도의 GUI 도구를 제공하지 않으므로 에디터로 설정 항목을 직접 지정해야 합니다.

실험적 기능

experimentalFeatures 항목에 실험적 기능 사용 여부를 켤수 있습니다.

다음은 설치 패키지 목록 보기(list), 패키지 삭제(uninstall), 업그레이드 기능을 켭니다.

 "experimentalFeatures": {
        "list": true,
		"uninstall": true,
		"upgrade": true
   },



같이 보기

Ref