비록 리눅스를 주로 사용하는 개발자가 아니더라도
debian 계열의 apt-get, redhat 계열의 yum 같은 것이 있었으면 싶다.
심지어 mac os x 도 homebrew 나 macports 같은 것이 있다.
몇년전에도 찾아본적이 있었는데, 윈도우에도 win-get 이라는 것이 있었다.
하지만 win-get 은 (사이트만 봐도 알 수 있지만) 어플리케이션 수도 적고 버젼 갱신도
잘 되고 있지 않다.
나는 리눅스를 주로 사용하는 개발자는 아니지만, 최근에 리눅스를 쓰면서
이런 생각을 다시 한번 하게 되었는데,
우연히 외국 포럼에서 관련 글을 보게 되었다.
chocolatey 라는 프로젝트인데,
사이트 구조를 보면 nuget 과 흡사하다. nuget 은 .net 라이브러리 관련 패키지 매니저로
이를 어플리케이션 수준으로 확대시킨 것이라고 보면 될 듯 하다.
(nuget 개발쪽에서 개발한 것인지는 잘 모르겠지만, 언급이 계속 되는 것을 봐선 맞는 것 같다)
(일단, 설치 폴더 안에 nuget.exe 가 있는 것을 봐서 nuget 을 내부적으로 이용하는 듯 하다)
http://chocolatey.org/ - 공식 사이트
http://chocolatey.org/packages - 현재 지원하는 어플리케이션 패키지 목록
1. chocolatey 설치 방법
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
사실 chocolatey 설치부터 스크립트다.
이 부분은 오해할 필요가 없다. chocolatey 설치만 이렇고
이 이후 다른 어플리케이션 설치는 간단하니까.
powershell 스크립트를 통해 설치를 한다.
부언하자면, powershell 은 고전적인 cmd shell 을 탈피하고자 microsoft 가 밀고 있는 스크립트다.
* 루비를 설치하고 싶으면, ( apt-get install ruby / yum install ruby )
chocolatey install ruby
( 혹은 cinst ruby )
* 특정 버젼을 명시하여 설치하고 싶으면,
chocolatey install ruby -version 2.0.0.24700
* 루비를 삭제하고 싶으면, ( apt-get remove ruby / yum remove ruby )
chocolatey uninstall ruby
( 혹은 cuninst ruby )
* chocolatey 리스트 중 루비를 찾고 싶으면, ( apt-cache search ruby / yum search ruby )
chocolatey list ruby
기타 다른 커맨드 기능을 보고 싶다면,
https://github.com/chocolatey/chocolatey/wiki/CommandsReference
에서 보면 된다.
파이썬 라이브러리 패키지 설치나 루비 젬을 이용한 패키지 설치 등도
chocolatey command 로
도 할 수있게 통합된 듯 싶다.
잠깐 써봤지만 생각보다 괜찮은 것 같다.
무엇보다 어플리케이션 버젼 갱신이 잘되고 있는 듯하다.
(ruby 는 2.0.x, intellij 도 12.1.4, 많은 어플리케이션이 최신 버젼가까이 유지된다.)
apt-get 이나 yum 처럼 console 창에서 진행과정을 보여주는 것도 잘된다.
프로그램들은 c:\chocolate\lib 나 c:\chocolate\bin 에 설치가 되면, path 설정도 알아서 해준다. 다만 일부 .msi, .exe 등의 설치프로그램에 강하게 의존되는 프로그램들은
별도의 디폴트 폴더에 설치된다. 이는 다소 아쉽지만, 이 역시 설치가 거의 자동화되어있기 때문에 큰 문제는 없어보인다.