Как использовать встроенный в Windows 10 менеджер пакетов?
Я считаю управление пакетами Windows 10 не очень интуитивно понятным. Ниже приведены мои приключения в попытке установить VLC, что звучит как очень распространенный тестовый пример для менеджера пакетов.
Find-Package vlc
Нету
Find-Package -Update
Нету
Install-Package --help
Нету
Install-Package /?
Нету
Install-Package vlc
The provider 'nuget v2.8.5.127' is not installed.
nuget may be manually downloaded from https://oneget.org/nuget-anycpu-2.8.5.127.exe and installed.
Would you like PackageManagement to automatically download and install 'nuget' now?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
Install-Package : No match was found for the specified search criteria and package name 'vlc'.
At line:1 char:1
+ Install-Package vlc
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], Ex
ception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
Нету
Register-PackageSource -Name chocolatey -Location http://chocolatey.org/api/v2 -Provider PSModule -Trusted -Verbose
Может быть?
Install-Package vlc
WARNING: The module 'vlc' cannot be installed or updated because it is not a properly-formed module.
Нету
1 ответ
Вы были близки Во-первых, вы должны установить политику выполнения, разрешающую выполнение сценариев, иначе она будет молча терпеть неудачу при сообщении об успехе ( ошибка):
Set-ExecutionPolicy RemoteSigned
И поставщик пакета (плагин Chocolatey), и источник пакета (URL-адрес определенного репозитория Chocolatey) должны быть установлены / зарегистрированы в PackageManagement. Get-PackageProvider с -Force
флаг заставляет его загрузиться, что, по-видимому, заботится о обоих (больше в справке о -Force
):
Get-PackageProvider Chocolatey -Force | Out-Null
Тогда я могу искать пакет:
Find-Package vlc -Force
Name Version Source Summary
---- ------- ------ -------
vlc 2.2.1.20150630 chocolatey VLC Media Player
И установить его (-Force
поэтому он не запрашивает подтверждение):
Install-Package vlc -Force | Out-Null