[ Window ] Chocolatey / Winget

Lutica_·2025년 11월 22일

Chocolatey?

  • linux를 다루다가 window로 넘어오면 가끔 화나는 부분이 있는데, 바로 종속성/프로그램 설치 부분이다.
  • CLI로 개발을 하게 되는 경우, 프로그램 설치를 sudo apt install로 하던 ubuntu와 달리, windows는 그러한 프로그램이 전무하다.
  • 이와 유사한 프로그램을 찾던 결과, chocolatey 가 매우 유사하고, 이를 소개하려 한다.

Chocolatey란 무엇인가?

  • Chocolatey(초콜레티) 는 윈도우 환경을 위한 패키지 매니저다.
  • Linux의 aptyum, macOS의 brew와 같은 역할을 수행한다고 보면 된다.
  • 내부적으로는 NuGet 패키지 인프라를 사용하며, 복잡한 설치 마법사(MSI, EXE)를 클릭하며 "다음 > 다음 > 마침"을 누르는 과정을 단 한 줄의 명령어로 대체해 준다.

설치하기

  • 설치 과정은 매우 간단하다. 단, PowerShell을 관리자 권한(Administrator) 으로 실행해야 한다.

주의: sudo가 없는 윈도우에서는 터미널 아이콘 우클릭 -> "관리자 권한으로 실행" 이 필수적이다.
cmd대신 pwsl로 설치하는 방법을 소개한다.

  1. Windows + X 키를 누르고 Terminal(Admin) 또는 PowerShell(관리자) 를 실행한다.
  2. 아래 명령어를 복사하여 붙여넣는다. (공식 설치 스크립트)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
  • 설치가 완료되면 choco를 입력해 보자. 버전 정보가 뜬다면 설치 성공이다.

기본 사용법 (Basic Usage)

  • 설치하고 싶은 프로그램이 있는지 확인할 때 사용한다.
choco search <keyword>
# 예: choco search git

2. 패키지 설치 (install)

  • -y 옵션을 붙이면 설치 중간에 묻는 동의 절차(Yes/No)를 자동으로 넘길 수 있다.
choco install <package_name> -y
# 예: choco install git vscode nodejs -y
  • 위 예시처럼 스페이스로 구분하여 여러 프로그램을 한 번에 설치할 수도 있다. 이게 진짜 강력한 기능이다.

3. 패키지 업데이트 (upgrade)

  • 윈도우 프로그램을 일일이 들어가서 업데이트 확인을 누르는 수고를 덜어준다.
# 특정 패키지 업데이트
choco upgrade git -y

# 설치된 모든 패키지 업데이트 (권장)
choco upgrade all -y

4. 패키지 삭제 (uninstall)

choco uninstall <package_name>

왜 Chocolatey를 써야 하는가?

개발 환경의 코드화 (Infrastructure as Code)

  • 윈도우를 포맷하거나 새로운 장비를 세팅할 때, 우리가 설치해야 할 리스트(Git, Node, VSCode, Chrome, Docker 등)를 기억에 의존해서 설치하면 꼭 하나씩 빼먹는다.
  • Chocolatey를 사용하면 아래와 같이 스크립트 파일(setup.ps1) 하나로 퉁칠 수 있다.
# setup.ps1 예시
choco install git googlechrome vscode docker-desktop 7zip -y
  • 이제 커피 한 잔 마시고 오면, 모든 개발 환경 세팅이 끝나 있다.

버전 관리의 용이성

  • 프로그램들이 제각각 업데이트 알림을 띄우는 스트레스에서 해방된다.
  • 아침에 출근해서 choco upgrade all -y 한 번이면 모든 툴이 최신 상태로 유지된다.

vs Winget (Windows Package Manager)

  • 최근 Microsoft에서 공식적으로 만든 winget이 탑재되고 있다.
  • Winget은 OS 기본 탑재라는 강력한 장점이 있지만, 아직 커뮤니티 패키지의 방대함이나 스크립트 제어의 성숙도는 Chocolatey가 앞서는 부분이 많다.
  • 따라서, 당장 안정적이고 방대한 라이브러리가 필요하다면 Chocolatey는 여전히 최고의 선택지다.
profile
해보고 싶고, 하고 싶은 걸 하는 사람

0개의 댓글