Chocolatey 란 무엇이며 어떻게 설치합니까?
Chocolatey: Windows 사용자 맞춤형 설정의 새로운 가능성
Windows는 그 사용 편의성으로 널리 알려져 있지만, 오픈 소스 소프트웨어인 Chocolatey(또는 Choco)를 활용하면 더욱 강력한 사용자 정의 환경을 구축할 수 있습니다. Chocolatey는 Windows 시스템을 원하는 대로 구성할 수 있는 폭넓은 가능성을 제공합니다.
Chocolatey 개요

Chocolatey는 Windows용 오픈 소스 패키지 관리자입니다. Linux의 DNF 또는 APT와 같은 도구와 유사하며, 개발자나 고급 사용자들이 소프트웨어 패키지를 편리하게 설치, 업데이트, 제거할 수 있도록 지원합니다.
Chocolatey에 대한 자세한 정보를 알아보기 전에, 패키지 관리자가 무엇인지 먼저 이해해 보겠습니다.
패키지 관리자란 무엇인가?
패키지 관리자는 운영 체제에서 소프트웨어 패키지를 체계적으로 관리하는 데 필수적인 도구입니다. 시스템에 설치된 소프트웨어를 추적하고, 업데이트를 관리하며, 새로운 소프트웨어를 설치하는 데 사용됩니다. 또한 더 이상 필요하지 않은 패키지를 간편하게 제거할 수 있도록 돕습니다.
간단히 말해, 패키지 관리자는 소프트웨어(패키지) 설치 및 관리를 용이하게 합니다. 여기서 패키지는 설치, 업데이트 또는 제거될 파일들의 모음입니다.
패키지 관리자는 시스템에 필요한 패키지들이 서로 충돌하거나 잘못 제거되지 않도록 보장합니다. 패키지 간의 의존성은 흔하며, 패키지 관리자는 이러한 관계를 파악하고 관리하여 시스템의 안정성을 유지합니다.
예를 들어, 패키지 A가 패키지 B에 의존한다고 가정해 봅시다. 이는 패키지 A가 정상적으로 작동하려면 패키지 B가 설치되어 있어야 함을 의미합니다. 예를 들어, 이미지 편집 소프트웨어인 김프의 경우, 김프 데이터 패키지에 대한 액세스가 필요합니다.
다양한 운영 체제에는 여러 인기 있는 패키지 관리자가 있습니다. Linux에는 DNF와 APT와 같이 널리 사용되는 패키지 관리자가 있습니다.
참고: DNF 패키지 관리자 사용법
Windows 또한 자체 패키지 관리 솔루션을 제공합니다: Windows 패키지 관리자 (winget). 이는 명령줄에서 작동하며, 개발자들이 패키지를 검색, 업그레이드, 제거 및 설치할 수 있도록 합니다. winget에서 자세한 정보를 확인할 수 있습니다.
Chocolatey는 무료로 사용할 수 있는 오픈 소스 패키지 관리자입니다. 아래에서 더 자세히 살펴보겠습니다.
Chocolatey 패키지 관리자란?
Chocolatey는 Windows를 위한 명령줄 기반 패키지 관리자입니다. 오픈 소스 라이선스(Apache 2.0) 하에 제공되므로 무료로 사용할 수 있습니다. 기업 사용자의 경우, 유료 옵션을 통해 최신 소프트웨어 자동화를 구축할 수 있습니다. Chocolatey는 개발자 중심의 패키지 관리자인 NuGet을 기반으로 합니다.
다른 패키지 관리자와 마찬가지로 Chocolatey는 개발자와 IT 전문가들이 시스템의 소프트웨어를 효율적으로 관리할 수 있도록 돕습니다. 패키지를 사용하여 소프트웨어의 업데이트, 제거 또는 설치를 원활하게 처리하며, 자동화를 통해 이러한 작업을 더욱 빠르게 처리할 수 있습니다.
Chocolatey의 목적 및 활용 사례
Chocolatey는 주로 개발자와 IT 관리자가 여러 컴퓨터에서 소프트웨어를 관리하는 환경에서 사용됩니다. 반복적인 작업을 자동화하는 데 유용하며, 바이너리, 스크립트, 설치 프로그램, 애플리케이션, 소프트웨어 패키지 배포와 같은 작업에 적합하여 DevOps 환경에서 특히 유용합니다.
Chocolatey는 소프트웨어 설치에 필요한 수동 단계를 줄여줍니다. 사용자가 패키지를 찾고 다운로드하여 설치해야 하는 번거로움을 없애고, 소프트웨어에 필요한 종속 패키지 설치까지 간단한 명령 하나로 해결할 수 있도록 합니다.
이러한 기능은 복잡한 Windows 환경에 의존하는 팀에게 특히 유용합니다. 수동 작업을 줄여 소프트웨어 개발 속도를 높일 수 있으며, 인프라 자동화 도구와의 뛰어난 통합 옵션도 제공합니다.
Windows에 Chocolatey를 설치하는 방법
Chocolatey 설치는 간단합니다. 아래 단계를 따라 진행하면 됩니다.
1단계: 요구 사항 확인
Chocolatey를 설치하기 전에 다음 요구 사항을 충족하는지 확인해야 합니다.
- Windows 클라이언트 또는 서버 운영 체제
- .NET Framework 4.8 이상
- PowerShell v2 이상
2단계: PowerShell 실행 및 ExecutionPolicy 설정
먼저, Windows 컴퓨터에서 PowerShell을 관리자 권한으로 실행합니다.
다음으로, Get-ExecutionPolicy가 제한되어 있는지 확인해야 합니다. 제한되어 있다면 Chocolatey 설치를 방해할 수 있습니다. 우회 옵션을 사용할 수도 있지만, 조직의 보안 정책에 따라 AllSigned를 사용하는 것이 좋습니다.
다음 명령 중 하나를 실행하여 필요한 ExecutionPolicy를 설정합니다.
$ Set-ExecutionPolicy AllSigned
또는
$ Set-ExecutionPolicy Bypass -Scope Process
3단계: Chocolatey 설치 명령 실행
ExecutionPolicy 설정이 완료되면, 다음 명령을 PowerShell에서 실행하여 Chocolatey 설치를 시작할 수 있습니다.
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'))

4단계: 설치 확인
위 명령이 실행되고 오류가 없다면 Chocolatey가 성공적으로 설치된 것입니다.
다음 명령을 실행하여 설치를 확인할 수 있습니다.
$ choco
또는
$ choco -?

설치가 완료되었습니다! Chocolatey는 CMD 셸에서도 설치할 수 있습니다. 관리자 권한으로 실행한 CMD 셸에 다음 명령을 복사하여 붙여넣으세요.
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
위 명령의 출력은 다음과 같습니다:
Getting latest version of the Chocolatey package for download. Not using proxy. Getting Chocolatey from https://community.chocolatey.org/api/v2/package/chocolatey/2.2.2. Downloading https://community.chocolatey.org/api/v2/package/chocolatey/2.2.2 to C:\Users\nitis\AppData\Local\Temp\chocolatey\chocoInstall\chocolatey.zip Not using proxy. Extracting C:\Users\nitis\AppData\Local\Temp\chocolatey\chocoInstall\chocolatey.zip to C:\Users\nitis\AppData\Local\Temp\chocolatey\chocoInstall Installing Chocolatey on the local machine Creating ChocolateyInstall as an environment variable (targeting 'Machine') Setting ChocolateyInstall to 'C:\ProgramData\chocolatey' WARNING: It's very likely you will need to close and reopen your shell before you can use choco. Restricting write permissions to Administrators We are setting up the Chocolatey package repository. The packages themselves go to 'C:\ProgramData\chocolatey\lib' (i.e. C:\ProgramData\chocolatey\lib\yourPackageName). A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin' and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'. Creating Chocolatey folders if they do not already exist. chocolatey.nupkg file not installed in lib. Attempting to locate it from bootstrapper. PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding... WARNING: Not setting tab completion: Profile file does not exist at 'C:\Users\nitis\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'. Chocolatey (choco.exe) is now ready. You can call choco from anywhere, command line or powershell by typing choco. Run choco /? for a list of functions. You may need to shut down and restart powershell and/or consoles first prior to using choco. Ensuring Chocolatey commands are on the path Ensuring chocolatey.nupkg is in the lib folder

Chocolatey 사용
Chocolatey는 사용하기 쉽습니다. 명령줄 도구이므로 명령어를 사용하여 소프트웨어를 관리합니다.
예를 들어, notepadplusplus를 설치하려면 다음 명령을 실행하면 됩니다.
$ choco install notepadplusplus

마찬가지로 GitHub와 같은 다른 소프트웨어나 패키지도 설치할 수 있습니다.
설치하려는 패키지가 확실하지 않은 경우 검색 기능을 사용하여 찾을 수 있습니다.
$ choco search git
또한 단일 명령으로 여러 애플리케이션을 설치할 수도 있습니다.
$ choco install git gimp notepadplusplus
애플리케이션을 제거하려면 uninstall 명령을 사용합니다.
$ choco uninstall gimp
더 많은 애플리케이션이 있다면 XML 파일로 정리한 다음 명령에 전달할 수도 있습니다.
$ choco install packages.config -y
packages.config 파일에는 설치할 모든 패키지가 나열되어 있습니다.
다음 명령을 사용하여 모든 기존 패키지를 업데이트할 수도 있습니다.
$ choco upgrade all
그 외 유용한 Chocolatey 명령:
- $ choco list → 로컬 또는 원격 패키지 목록
- $ choco info [package_name] → 패키지 정보 검색
- $ choco upgrade [package_name] → 패키지 업그레이드
- $ choco outdated → 오래된 패키지 검색 및 나열
Chocolatey 제거
Chocolatey를 제거하려면 C:\ProgramData\chocolatey 폴더나 설치한 폴더를 삭제하면 됩니다.
설치 폴더를 모를 경우 다음 명령을 실행하면 됩니다.
$ env:ChocolateyInstall
그러나 Chocolatey를 제거하기 전에, 설치한 패키지가 있는 bin 및 lib 하위 폴더를 백업하는 것이 좋습니다. 또한 다음 환경 변수를 제거하거나 조정해야 합니다.
- ChocolateyInstall
- ChocolateyToolsLocation
- ChocolateyLastPathUpdate
- Path
Chocolatey 대 Windows 패키지 관리자 Winget
Chocolatey 외에도 Windows에는 Winget이나 OneGet과 같은 다른 패키지 관리자도 있습니다. 그렇다면 어떤 것을 선택해야 할까요? 아래에서 Chocolatey와 Winget을 비교해 보겠습니다.
#1. 특징
기능 면에서 Chocolatey는 더 많은 것을 제공합니다. 개인 사용자는 오픈 소스 버전을 통해 패키지 관리를 시작할 수 있습니다. 좀 더 안정적이고 강화된 맬웨어 방지 기능이 필요한 경우에는 유료 버전인 Pro Edition으로 전환할 수 있습니다.
Chocolatey는 기업 사용자를 위한 Enterprise for Business 버전도 제공하여 DevOps 워크플로를 개선하고 Windows 소프트웨어 수명 주기를 자동화할 수 있도록 지원합니다.
반면 Winget은 좀 더 단순한 패키지 관리 솔루션을 제공합니다. YAML 매니페스트를 사용하여 패키지를 생성, 업로드 및 제거합니다.
#2. 비용
두 패키지 관리자 모두 무료 오픈 소스 버전을 제공합니다. 하지만 유료 옵션은 Chocolatey에서만 제공합니다.
#3. 사용 편의성
둘 다 명령줄 기반 도구이므로 사용 편의성은 주관적입니다. 하지만 Winget은 Microsoft Store를 통해 제공되므로 설치가 더 쉽습니다. 반면 Chocolatey를 설치하려면 명령어를 실행해야 하며, 실행 정책도 관리해야 합니다.
#4. 저장소
Chocolatey는 9500개 이상의 패키지 저장소를 관리합니다. 이를 통해 필요한 거의 모든 것을 얻을 수 있습니다. 반면 Winget은 패키지 다운로드 및 배포를 위해 다른 소스에 의존합니다.
커뮤니티 측면에서는 Chocolatey가 더 우수합니다. 10년이 넘는 기간 동안 강력한 커뮤니티 지원을 받아왔습니다. 반면 Winget은 이러한 커뮤니티 지원이 부족합니다.
마무리
Chocolatey는 매우 편리한 패키지 관리자입니다. 인기가 많고 문서화가 잘 되어 있으며 다양한 기능을 제공합니다. 오픈 소스이므로 누구나 무료로 사용할 수 있다는 장점도 있습니다.
Chocolatey는 복잡한 Windows 프로젝트를 처리하는 조직에 특히 유용하며, 필요한 기능을 갖춘 유료 옵션도 제공합니다.
다음으로, Windows 및 MacOS에 NVM(Node Version Manager)을 설치하는 방법을 확인해 보세요.