1. choco

2. scoop

3. winget


윈도우 패키지 매니저로 위 3개가 잘 알려져 있는데


choco는 nupkg로 작성된 패키지를 관리자 권한으로 전통적인 위치(e.g. Program Files)에 설치하고

scoop은 자체적으로 폴더를 생성해서 포터블하게 설치하는 방법을 씀

winget은 몰룽



여기서 scoop은 아래 2가지를 강조함

1) 유닉스 친화적인 개발자를 위한 도구

2) 설치할 때 관리자 권한을 요구하지 않음



scoop이 어떻게 앱을 관리하는지는 패키지 설치 과정을 보면 대충 이해할 수 있음



앱 매니페스트는 json 파일로 작성되고 bucket이란 이름의 git 레포로 관리됨

어떤 버킷이 있는지는 여기서 확인 가능 -> https://scoop.netlify.app/buckets/

예를 들어 git은 여기서 볼 수 있음 -> https://github.com/ScoopInstaller/Main/blob/master/bucket/git.json



이제 scoop install git 명령어를 입력하면 어떠한 작업이 실행되는지 알 수 있음




1. 포터블 git 압축 파일을 다운로드

2. ~/scoop/apps/git/2.33.1.windows.1 폴더에 압축 해제

3. current 폴더를 최신 버전 폴더에 링킹



4. ~/scoop/shims가 Path 환경변수에 추가되어 있음. cmd/git, git-bash 등을 실행하는 스크립트를 여기에 배치함

4-1. exe는 cmd용, ps1은 파워쉘용, shim은 scoop which 명령어 전용인 듯



5. gui 앱은 시작 메뉴에 lnk 파일 추가해줌



6. GIT_INSTALL_ROOT 환경변수를 설정해줌 (e.g. JAVA_HOME, CARGO_HOME)



7. git은 해당 안되는데 일반적으로 앱에서 쓰는 설정, 캐시 파일은 ~/scoop/persist/ 폴더에 저장됨 (e.g. rustup, conda, mpv)



언인스톨할 때는 반대로 저 생성한 파일들을 삭제만 하면 끝남


choco랑 비교했을때 이런 방식이 맘에 들면 scoop 쓰면 됨



이제 맥충들의 홈브류 타령에 굴복하지 말자!!!!!!!!!!