Wie verwende ich den integrierten Paketmanager von Windows 10?

6688
Jonathan

Ich finde das Windows 10-Paketmanagement nicht sehr intuitiv. Im Folgenden finden Sie meine Abenteuer beim Versuch, VLC zu installieren, was sich wie ein sehr üblicher Testfall für einen Paketmanager 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

13
Probieren Sie [`Install-Package -Name VLC`] (http://www.howtogeek.com/200334/windows-10-includes-a-linux-style-package-manager-named-oneget/) aus. MC10 vor 9 Jahren 0
`Install-Package -Name VLC`` `Install-Package: Für die angegebenen Suchkriterien und den Paketnamen 'VLC' wurde keine Übereinstimmung gefunden." Jonathan vor 9 Jahren 0
Findet `Find-Package -Name VLC` etwas für Sie? Überprüfen Sie auch, ob die Groß- und Kleinschreibung beachtet wird. MC10 vor 9 Jahren 0
`Find-Package -Name VLC` Find-Package: Für die angegebenen Suchkriterien und den Paketnamen 'VLC' wurde keine Übereinstimmung gefunden. An Zeile: 1 Zeichen: 1 + Find-Package -Name VLC + ~~~~~~~~~~~~~~~~~~~~~~ KategorieInfo: ObjectNotFound: (Microsoft.Power ...) .FindPackage: FindPackage) [Find-Package], Ausnahme + FullyQualifiedErrorId: NoMatchFoundForCriteria, Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage Jonathan vor 9 Jahren 0
Also habe ich noch ein bisschen rumgespielt. Ich habe die gleiche Fehlermeldung erhalten wie beim VLC, aber die Installation von 'putty' hat funktioniert. Ich weiß nicht, auf welcher Seite sich das Problem befindet. MC10 vor 9 Jahren 0
Ich habe ähnliche Probleme mit "iojs". Es * findet * das Paket gut, aber wenn ich versuche, es zu installieren, wird es nicht gefunden. mpen vor 9 Jahren 0
`help Install-Package` funktioniert. BrunoLM vor 9 Jahren 0
Vielleicht möchten Sie zuerst eine "Update-Hilfe" ausführen. BrunoLM vor 9 Jahren 1
Gibt es einen Vorteil, wenn Sie Windows-Befehle verwenden, anstatt schokoladige direkt für Pakete zu verwenden, die aus dem schokoladigen Repo stammen? kuzzooroo vor 6 Jahren 0

1 Antwort auf die Frage

10
Vimes

Du warst nah. Zuerst müssen Sie die Ausführungsrichtlinie so einstellen, dass Skripts zugelassen werden. Andernfalls schlägt die Benachrichtigung 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-Repo) müssen bei PackageManagement installiert / registriert werden. Get-PackageProvider mit dem -ForceFlag führt dazu, dass es bootstrap, was sich offenbar um beides kümmert (mehr dazu in der Hilfe -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 

enter image description here

Dies funktioniert für mich auf einem sauberen Windows 10 RTM nicht, es legt einfach alles in C: \ Chocolatey \ lib ab, installiert jedoch nicht wirklich die Programme oder führt die dazu erforderlichen Skripts aus. RedShift vor 9 Jahren 0
Oh, es gibt einen [furchtbar verwirrenden Fehler] (https://github.com/OneGet/oneget/issues/97#issuecomment-139331418), in dem dieses genaue Verhalten der Fall ist, es sei denn, Sie legen die Ausführungsrichtlinie vor der Installation von Paketen fest Skripte (ich benutze RemoteSigned). Ich werde meine Antwort aktualisieren. Vimes vor 9 Jahren 3
Gut zu hören. Hoffentlich bekommen sie diese Falten beseitigt. Vergiss nicht, die Antwort zu markieren, wenn du magst :-) Vimes vor 9 Jahren 1
Wie installiere ich mehrere Pakete in einer Zeile? Das ist der Industriestandard für alle Paketmanager. Es scheint, dass ich eine Fehlermeldung bekomme, wenn ich `Install-Package vlc firefox -Force` betreibe Jonathan vor 8 Jahren 0
@JonathanLeaders, setzen Sie einfach Kommas zwischen die Paketnamen. Vimes vor 8 Jahren 1
@JVimes Das scheint nicht mehr zu funktionieren. Der Fehler ist ähnlich wie bei RedShift. Wenn die Ausführungsrichtlinie auf "RemoteSigned" gesetzt ist, wird das Skript mit "Das System kann nicht finden ..." ausgegeben. Wenn Sie die Ausführungsrichtlinie mit Set-ExecutionPolicy Default zurücksetzen, wird kein Fehler ausgegeben, es wird jedoch nichts in Programmdateien installiert. Die Installationsprogramme werden korrekt in "C: \ Chocolatey \ lib" abgelegt xenithorb vor 7 Jahren 0
@ Xenithorb, ich bestätige, was Sie sehen. Ich hatte so viele Probleme mit dem Chocolatey-Anbieter, den ich vor langer Zeit aufgegeben habe. Es sieht so aus, als sei seine GitHub-Seite [hier] (https://github.com/chocolatey/chocolatey-oneget). Vimes vor 7 Jahren 0