Wie verwende ich den in Windows 10 integrierten Paketmanager?

13

Ich finde die Windows 10-Paketverwaltung nicht sehr intuitiv. Im Folgenden sind meine Abenteuer beim Versuch, VLC zu installieren, aufgeführt, was sich für einen Paketmanager wie ein sehr häufiger Testfall anhört.

Find-Package vlc

Nee

Find-Package -Update

Nee

Install-Package --help

Nee

Install-Package /?

Nee

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

Nee

Register-PackageSource -Name chocolatey -Location http://chocolatey.org/api/v2 -Provider PSModule -Trusted -Verbose

Könnte sein?

Install-Package vlc
WARNING: The module 'vlc' cannot be installed or updated because it is not a properly-formed module.

Nee

Jonathan
quelle
Versuchen Sie es Install-Package -Name VLC.
MC10
Install-Package -Name VLC Install-Package : No match was found for the specified search criteria and package name 'VLC'.
Jonathan
Findest Find-Package -Name VLCdu was für dich? Überprüfen Sie auch, ob zwischen Groß- und Kleinschreibung unterschieden wird.
MC10
Find-Package -Name VLCFind-Package: Für die angegebenen Suchkriterien und den Paketnamen 'VLC' wurde keine Übereinstimmung gefunden. In Zeile: 1 Zeichen: 1 + Find-Package -Name VLC + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (Microsoft.Power ... ets .FindPackage: FindPackage) [Find-Package], Exceptio n + FullyQualifiedErrorId: NoMatchFoundForCriteria, Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
Jonathan
1
Sie möchten vielleicht eine update-helperste machen.
BrunoLM

Antworten:

10

Du warst nah. Zuerst müssen Sie die Ausführungsrichtlinie festlegen, um Skripts zuzulassen. Andernfalls schlägt die Ausführung unbemerkt fehl, während der Erfolg gemeldet wird ( Fehler ):

Set-ExecutionPolicy RemoteSigned

Sowohl der Paketanbieter (Chocolatey-Plugin) als auch die Paketquelle (URL zu einem bestimmten Chocolatey-Repository) müssen bei PackageManagement installiert / registriert sein. Get-PackageProvider mit dem -ForceFlag führt zu einem Bootstrap, der anscheinend beides erledigt (mehr in der Hilfe zu -Force):

Get-PackageProvider Chocolatey -Force | Out-Null

Dann kann ich nach dem Paket suchen:

Find-Package vlc -Force

Name       Version          Source           Summary
----       -------          ------           -------
vlc        2.2.1.20150630   chocolatey       VLC Media Player

Und installiere es ( -Forcedamit es nicht zur Bestätigung auffordert):

Install-Package vlc -Force | Out-Null

Bildbeschreibung hier eingeben

Mumm
quelle
Dies funktioniert bei einem sauberen Windows 10-RTM-System nicht. Es legt nur alles in C: \ Chocolatey \ lib ab, installiert jedoch nicht die Programme oder führt die dazu erforderlichen Skripts aus.
RedShift
3
Oh, es gibt einen furchtbar verwirrenden Fehler in PackageManagement, bei dem genau dieses Verhalten auftritt, es sei denn, Sie haben vor der Installation von Paketen die Ausführungsrichtlinie so festgelegt, dass Skripts zugelassen werden (ich verwende RemoteSigned). Ich werde meine Antwort aktualisieren.
Mumm
1
Gut zu hören. Hoffentlich werden sie diese Falten ausbügeln. Vergessen Sie nicht, die Antwort zu markieren, wenn Sie
möchten
Wie würde ich mehrere Pakete in einer Zeile installieren? Das ist der Industriestandard für alle Paketmanager. Es scheint, ich bekomme eine Fehlermeldung, wenn ich laufeInstall-Package vlc firefox -Force
Jonathan
1
@ JonathanLeaders, setzen Sie einfach Kommas zwischen die Paketnamen.
Mumm