Chocolatey — менеджер пакетов в среде Windows по аналогии с apt-get в Linux Мире.
Начал использовать по причине разработки на Node.js под Nodester. Мне хотелось бы регулярно обновлять ноду, git, dropbox, да и тот же skype, при этом, не заморачиваясь со скачиванием msi инсталяторов и установками, а просто обновить одной командой:
cup all
Это возможно — обновить все пакеты. Общий список доступных команд в Wiki. К сожалению, нет возможности удалить пакеты.
Так, как для работы постоянно требуется доступ к консоли, git, node, jade. Я хотел бы немножечко проиллюстрировать работу с Chocolatey в контексте (на примере) подготовки к разработке под Nodester.
Требования для установки:
Windows XP/Vista/7/2003/2008
.NET Framework 4.0
PowerShell 2.0
Устанавливается просто, выполнением такой незамысловатой команды (в cmd.exe в PowerShell не обрабатывается):
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://bit.ly/psChocInstall'))"
После чего автоматически устанавливается в C:Chocolatey, в C:Chocolateylibs будут находится описания пакетов, библиотеки. Основные же модули программ по дефолту устанавливаются в Program Files (x86).
Все основные и необходимые, для девелопера, пакеты присутствуют. Интерпретируемые языки, типа PHP, Ruby, Python, Node.js. БД — MySQL, MongoDB, SQLite. Контроль версий Git, Mercurial, SVN. Notepad++, Sublime. Сalibre для обработки книг под Kindle.
1. Установка пакета Node.js вместе с npm
cinst nodejs.install
Эта команда аналогична следующей
chocolatey install nodejs.install
Правда консоль придется закрыть и открыть заново, что бы стали доступны записанные пути в path.
2. Когда нода установлена уже можно вести разработку, инсталлировать модули через менеджер пакетов. Вот и пакетик для Нодстера
3. Без Git-a на Nodester совершить деплой не удастся, так что устанавливаем его с помощью Chocolatey
Вот список того, что я ещё дополнительно установил.
cinst Console2
cinst putty
cinst curl
cinst Wget
Пробуем putty, команда открывает окно программы и смотрим на, то что git поставился успешно (напомню, что придется закрывать консоль и открывать заново).
4. Вот видим что к Nodester можем свободно обращаться
Дальше остается рутинный процесс, инсталяция на локальной машине через npm требуемый в проекте модулей, типа expressjs, jade, тестирование на локальном веб-сервере который загружает нода. Все это дело ведется в git, коммитится, после чего совершается push в репы nodester. На nodester-е (список команд) так же потребуется установить npm модули через nodester npm install appname.
Не для всего подходит Chocolatey. Сама идеология Windows и создаваемых под платформу приложений склоняется к тому, что они сами должны лезть в автозагрузки и при каждом удобном случае без разрешения лезть обновляться. Так, в пакетах есть Chrome, но мы то знаем про GoogleUpdater.exe который и так все обновляет. Так, же и про Notepad++ который сам может полезть за обновлениями. Skype и самому обновить можно. Однако если изначально все ставить по-шоколадному, быстрое обновление одной командой будет приносить удовольствие, особенно если это относится не к GUI инструментам.
Напоследок приложу видео ролик с оф. сайта
Автор: anatooly