Как мне использовать встроенный в Windows 10 менеджер пакетов?


13

Я считаю управление пакетами 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.

нет


Попробуй Install-Package -Name VLC.
MC10

Install-Package -Name VLC Install-Package : No match was found for the specified search criteria and package name 'VLC'.
Джонатан

Находит Find-Package -Name VLCчто-нибудь для вас? Кроме того, проверьте, чувствителен ли он к регистру.
MC10

Find-Package -Name VLCFind-Package: Не найдено совпадений для указанных критериев поиска и имени пакета 'VLC'. В строке: 1 символ: 1 + Find-Package -Name VLC + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (Microsoft.Power ... ets .FindPackage: FindPackage) [Find-Package], Исключение + FullyQualifiedErrorId: NoMatchFoundForCriteria, Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
Джонатан

1
Вы могли бы хотеть сделать update-helpсначала.
BrunoLM

Ответы:


10

Вы были близки Во-первых, вы должны установить политику выполнения, разрешающую выполнение сценариев, иначе она будет молча терпеть неудачу при сообщении об успехе ( ошибка ):

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

введите описание изображения здесь


Это не работает для меня на чистой Windows 10 RTM, просто помещает все в C: \ Chocolatey \ lib, но на самом деле не устанавливает программы и не запускает сценарии, необходимые для этого.
RedShift 19.09.15

3
О, в PackageManagement есть очень запутанная ошибка, в результате которой происходит именно такое поведение, если только перед установкой пакетов вы не установили политику выполнения, разрешающую использование сценариев (я использую RemoteSigned). Я обновлю свой ответ.
Ваймс

1
Рад слышать. Надеюсь, они сгладят эти морщины. Не забудьте отметить ответ, если вам нравится :-)
Vimes

Как мне установить несколько пакетов в одну строку? Это отраслевой стандарт для всех менеджеров пакетов. Кажется, я получаю ошибку, если я бегуInstall-Package vlc firefox -Force
Джонатан

1
@JonathanLeaders, просто ставьте запятые между именами пакетов.
Ваймс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.