- PVSM.RU - https://www.pvsm.ru -

Chocolatey — apt-get для Windows

Chocolatey [1] — менеджер пакетов в среде Windows по аналогии с apt-get в Linux Мире.

Chocolatey — apt get для Windows

Начал использовать по причине разработки на Node.js под Nodester. Мне хотелось бы регулярно обновлять ноду, git, dropbox, да и тот же skype, при этом, не заморачиваясь со скачиванием msi инсталяторов и установками, а просто обновить одной командой:

cup all

Это возможно — обновить все пакеты [2]. Общий список доступных команд [3] в Wiki. К сожалению, нет возможности удалить пакеты [4].

Так, как для работы постоянно требуется доступ к консоли, 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'))"

Процесс установки Chocolatey

После чего автоматически устанавливается в C:Chocolatey, в C:Chocolateylibs будут находится описания пакетов, библиотеки. Основные же модули программ по дефолту устанавливаются в Program Files (x86).

Все основные и необходимые, для девелопера, пакеты присутствуют [5]. Интерпретируемые языки, типа PHP [6], Ruby [7], Python [8], Node.js [9]. БД — MySQL [10], MongoDB [11], SQLite [12]. Контроль версий Git [13], Mercurial, SVN [14]. Notepad++, Sublime. Сalibre [15] для обработки книг под Kindle.

1. Установка пакета Node.js вместе с npm

cinst nodejs.install

Эта команда аналогична следующей

chocolatey install nodejs.install

Chocolatey — apt get для Windows

Правда консоль придется закрыть и открыть заново, что бы стали доступны записанные пути в path.

Chocolatey — apt get для Windows

2. Когда нода установлена уже можно вести разработку, инсталлировать модули через менеджер пакетов. Вот и пакетик для Нодстера

Chocolatey — apt get для Windows

3. Без Git-a на Nodester совершить деплой не удастся, так что устанавливаем его с помощью Chocolatey

Chocolatey — apt get для Windows

Вот список того, что я ещё дополнительно установил.

cinst Console2
cinst putty
cinst curl
cinst Wget

Пробуем putty, команда открывает окно программы и смотрим на, то что git поставился успешно (напомню, что придется закрывать консоль и открывать заново).

Chocolatey — apt get для Windows

4. Вот видим что к Nodester можем свободно обращаться

Chocolatey — apt get для Windows

Дальше остается рутинный процесс, инсталяция на локальной машине через npm требуемый в проекте модулей, типа expressjs, jade, тестирование на локальном веб-сервере который загружает нода. Все это дело ведется в git, коммитится, после чего совершается push в репы nodester. На nodester-е (список команд [16]) так же потребуется установить npm модули через nodester npm install appname.

Не для всего подходит Chocolatey. Сама идеология Windows и создаваемых под платформу приложений склоняется к тому, что они сами должны лезть в автозагрузки и при каждом удобном случае без разрешения лезть обновляться. Так, в пакетах есть Chrome, но мы то знаем про GoogleUpdater.exe который и так все обновляет. Так, же и про Notepad++ который сам может полезть за обновлениями. Skype и самому обновить можно. Однако если изначально все ставить по-шоколадному, быстрое обновление одной командой будет приносить удовольствие, особенно если это относится не к GUI инструментам.

Напоследок приложу видео ролик с оф. сайта

Автор: anatooly


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/7822

Ссылки в тексте:

[1] Chocolatey: http://chocolatey.org/

[2] обновить все пакеты: https://github.com/chocolatey/chocolatey/wiki/CommandsUpdate

[3] список доступных команд: https://github.com/chocolatey/chocolatey/wiki/CommandsReference

[4] нет возможности удалить пакеты: https://groups.google.com/group/chocolatey/browse_thread/thread/653f6b516ae94ca7?pli=1

[5] пакеты присутствуют: http://chocolatey.org/packages

[6] PHP: http://chocolatey.org/packages/php

[7] Ruby: http://chocolatey.org/packages/ruby

[8] Python: http://chocolatey.org/packages/python

[9] Node.js: http://chocolatey.org/packages/nodejs

[10] MySQL: http://chocolatey.org/packages/mysql

[11] MongoDB: http://chocolatey.org/packages/mongodb

[12] SQLite: http://chocolatey.org/packages/SQLite

[13] Git: http://chocolatey.org/packages/msysgit

[14] SVN: http://chocolatey.org/packages/tortoisesvn

[15] Сalibre: http://chocolatey.org/packages/calibre

[16] список команд: http://nodester.com/api