윈도우에서 각종 프로그램을 설치하다 보면
Chocolatey - 초콜라티 - 를 사용해서
설치하라는 지시를 종종 볼 수 있습니다.
그럼 Chocolatey 란 무엇이나?
윈도우용 패키지 매니저 입니다.
리눅스를 사용하시는 분들은
이게 뭔지 단번에 이해하실 텐데요.
파워셸에서 명령어 한줄만 치면
원하는 패키지를 설치할 수 있습니다.
우분투에서 apt 같은 것이라 보시면 됩니다.
윈도우는 프로그램 하나 까는데
그것을 인터넷에서 찾아야 하고
다운로드 받아야 하고 설치해야 하는
매우 복잡한 설치방법으로 악명이 높은데요.
인터넷만 연결되어 있으면
코드 한줄만 복사해넣으면 알아서
설치되는게 리눅스 방식인데
리눅스 계열을 쓰시는 분들은
원래부터 그렇게 써왔습니다.
초콜라티는 리눅스같은 명령어 방식의
패키지 매니저를 윈도우로 구현한 것이고요.
repository(저장소)에는 수천개의
오픈소스 프로그램을 사용할 수 있습니다.
아래 사이트에는 현재 8400개의 유지보수되는
패키지가 들어있고요.
대부분 메이저 오픈소스 프로젝트라고 보면 됩니다.
웬만한 프로그래밍 언어(파이썬, 자바, 러스트, 고랭)의
IDE(통합개발환경) 등 패키지는 다 있습니다.
Chocolatey Software | Packages
요즘에는 프로그래밍 설명서에 보면
윈도우에서는 그냥 초콜라티를 사용해서
설치하라고 나옵니다.
솔직히 윈도우의 패키지 설치 과정이
쓸데없이 길고 복잡한 것이 사실입니다.
초콜라티를 설치하면 우분투 apt 처럼
사용할 수 있습니다.
파이썬을 예로 들면 >choco install python
이게 다입니다.
초콜라티의 설치도 파워셸에서 합니다.
Chocolatey Software | Installing Chocolatey
파워셸은 윈도우 7이상의 윈도우 스크립트 관리자입니다.
윈도우 앱을 검색하여 Window PowerShell 을
관리자 권한으로 실행합니다. (마우스 우클릭 메뉴)
초콜라티 사이트에 있는 커맨드를 실행합니다.
아래 명령을 파워셸에 붙여넣기 합니다.
(초콜라티 웹사이트에서 가져옴.
명령어 업데이트시 초콜라티에서 확인)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
위에서는 이미 설치되어있다고 나옵니다.
choro 를 실행해보면 아래와 같이 버전 정보가 출력됩니다.
PS C:\WINDOWS\system32> choco
Chocolatey v0.10.15
Please run 'choco -?' or 'choco <command> -?' for help menu.
이제 각 프로그램의 명령어만 알면 됩니다.
패키지 저장소(repository)에 가서
여러가지를 검색해 볼 수 있습니다.
예를 들어 IDE 라고 검색하면 각종 IDE가 나옵니다.
여기서는 다운로드 받는게 아니라
패키지의 이름만 가져오면 됩니다.
아래 이미지를 보면 오른쪽에
설치 명령어가 있습니다.
이것들을 설치하기 위해서
인터넷을 열고 찾아가서 다운로드 받는
그런 귀찮은 일은 하지 않아도 됩니다.
저는 choco install notepadplusplus 로
노트패드 플러스를 깔아봤습니다.
설치가 금방되네요.
파워셸의 스크립트를 이용하면
필요한 패키지를 일괄 작업할 수 있기 때문에
윈도우를 재설치 할 때 등 반복작업에 유리합니다.
초콜라티를 GUI로 사용하고 싶다 그러면
choco install chocolateygui
을 설치하면 됩니다.
명령어 베이스에 익숙하지 않으면
이쪽을 사용합니다.
(익숙해지면 명령어 쪽이 더 쉽습니다)
초콜라티 매니저에서 다운받은 패키지는
ChocolateyInstall\lib 에 저장됩니다.
소프트웨어의 경우 Windows installer 등에
설정된 기본값을 따르므로 다를 수 있습니다.
파이썬 코딩 1-1 | 온라인에서 Hello World! 로 시작하기
C++ 시작하기 | Hello World 프로그램의 해설 | C++ 주석