Як використовувати вбудований менеджер пакетів 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 char: 1 + Find-Package -Name VLC + ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (Microsoft.Power ... ets .FindPackage: FindPackage) [Find-Package], Exceptio n + FullyQualifiedErrorId: NoMatchFoundForCriteria, Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
Джонатан

1
Ви можете хотіти зробити update-helpперше.
BrunoLM

Відповіді:


10

Ви були поруч. По-перше, ви повинні встановити політику виконання, щоб дозволити сценарії, інакше вона мовчки не вийде під час повідомлення про успіх ( помилка ):

Set-ExecutionPolicy RemoteSigned

Як постачальник пакунків (Chocolatey плагін), так і джерело пакета (URL-адреса до конкретного Chocolatey repo) потрібно встановити / зареєструвати в 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

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

1
Чудово чути. Сподіваємось, вони зможуть виправити ці зморшки. Не забудьте позначити відповідь, якщо вам подобається :-)
Vimes

Як я можу встановити кілька пакетів в одну лінію? Це галузевий стандарт для всіх менеджерів пакетів. Здається, я отримую помилку, якщо бігаюInstall-Package vlc firefox -Force
Джонатан

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