Менеджер пакетов WinGet в Windows 10
В Windows 10 появился новый менеджер пакетов WinGet (Windows Package Manager), который можно использовать для установки приложений из командной строки (по аналогии с пакетными менеджерами Linux, например yum, dnf, apt и т.д.).
WinGet.exe это консольная утилита (которая как и менеджер пакетов Chocolatey) позволяет упростить установку программ на компьютере Windows. Чтобы установить какую-то программу вам не нужно искать ее дистрибутив, скачивать его, запускать мастер установки и щелкать Далее -> Далее …. С помощью Windows Package Manager вы можете выполнить установку программы с помощью всего одной команды.
Репозиторий WinGet на данный момент ведется Microsoft, но предусмотрена возможность подключения сторонних репозиториев. Исходный код доступен на GitHub
Установка менеджера пакета WinGet в Windows 10
Менеджер пакетов WinGet можно установить в Windows 10, начиная с билда 1709. Microsoft обещает, что в следующем билде (после Windows 10 2004) winget будет встроен в Windows.
Вы можете установить WinGet через Microsoft Store (там он называется App Installer):
Или можно с помощью PowerShell скачать appxbundle файл winget с GitHub и установить его:
Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/download/v0.1.4331-preview/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle" -OutFile "C:\PS\WinGet.appxbundle"
Add-AppxPackage "C:\PS\WinGet.appxbundle"
Проверьте установленную версию winget командой:
winget --version
Основные команды winget:
winget install <пакет>
— установка пакетаwinget show < пакет >
— показать информацию о пакетеwinget source < опции >
— управление репозиториямиwinget search < поисковая строка >
— поиск пакетов в репозиторияхwinget hash < пакет >
— получить хэш установщика пакетаwinget validate < пакет >
— проверить файл манифеста
Последние две команды в основном используются при публикации программ в репозитории.
Установка программ с помощью WinGet
Прежде чем установить программу из репозитория WinGet, нужно узнать имя пакета. Для поиска пакетов используется команда search. Например, чтобы найти zip архиваторы в репозитории, выполните команду:
winget search zip
Команда вернула список пакетов (с названиями и версиями), которые подходят под ваш запрос.
Можно получить информацию о конкретном пакете:
winget show 7zip.7zip
Например, нам нужно установить архиватор 7zip. Скопируйте его имя или ID и выполните команду установки:
winget install 7zip.7zip
Как вы видите, менеджер пакетов автоматически скачал и установил приложение. Всего одной командой. Программа появилась в списке установленного софта.
Теперь установим, например, Windows Terminal и VSCode для написания PowerShell скриптов:
Сначала ищем имена пакетов:
winget search terminal
winget search "visual studio"
Затем устанавливаем их по очереди:
winget install Microsoft.WindowsTerminal –e ; winget install Microsoft.VisualStudioCode –e
Если вы хотите запустить установку пакета с программой в фоновом режиме, используйте параметр –silent:
winget install "VLC media player" --silent
Список программ в репозитарии WinGet для установки доступно более 850 программ. Вы можете воспользоваться поисков чтобы найти имя пакета нужной вам программы. Используйте найденное имя пакета в команде winget install.
Как вы видите, менеджер пакетов WinGet позволяет существенно упростить установку программ . В репозитории доступны большинство популярных программ для Windows. Теперь не нужно искать сайт разработчика, регистрироваться и качать дистрибутивы. Для установки программы достаточно выполнить одну команду. Продукт WinGet еще находится в разработке, в нем отсуствует ряд полезного функуионала (в том числе пока не работает обновление пакетов), но думаю в ближайший год он будет доведен до полноценного инструмента по управлению пакетами в Windows.