Dela via


Installera en pakethanterare för PowerShell

Om du kör PowerShell 6.0 eller senare har du redan en nyare version av PowerShellGet och PackageManagement installerad. Du bör se till att du kör de senaste versionerna av dessa moduler.

Om du kör PowerShell 7.4 eller senare har du också Microsoft.PowerShell.PSResourceGet installerat. Microsoft.PowerShell.PSResourceGet är den nya pakethanteringslösningen för PowerShell. Med denna modul behöver du inte längre använda PowerShellGet och PackageManagement. Den installeras sida vid sida med de befintliga PowerShellGet- och PackageManagement-modulerna .

Windows PowerShell levereras med version 1.0.0.1 av PowerShellGet och PackageManagement. Om du kör Windows PowerShell 5.1 måste du uppgradera till den senaste versionen av PowerShellGet och PackageManagement. Alla versioner av PowerShellGet v1.x stöds inte längre.

Använd följande instruktioner för att installera eller uppdatera till de senaste versionerna av dessa moduler.

Steg 1: Aktivera TLS 1.2

För att komma åt PowerShell-galleriet måste du använda Transport Layer Security (TLS) 1.2 eller högre. Använd följande kommando för att aktivera TLS 1.2 i din PowerShell-session.

[Net.ServicePointManager]::SecurityProtocol =
    [Net.ServicePointManager]::SecurityProtocol -bor
    [Net.SecurityProtocolType]::Tls12

Lägg till detta kommando i ditt PowerShell-profilskript för att säkerställa att TLS 1.2 är konfigurerat för varje PowerShell-session. Mer information om profiler finns i about_Profiles.

Steg 2: Kontrollera de installerade versionerna

För att kontrollera de för närvarande installerade versionerna av modulerna, kör följande kommando:

$Names = @('PowerShellGet', 'PackageManagement', 'Microsoft.PowerShell.PSResourceGet')
Get-Module -Name $Names -ListAvailable

I Windows PowerShell 5.1 på ett nyinstallerat Windows-system bör du få följande resultat:

    Directory: C:\Program Files\WindowsPowerShell\Modules


ModuleType Version  Name               ExportedCommands
---------- -------  ----               ----------------
Binary     1.0.0.1  PackageManagement  {Find-Package, Get-Package, ...
Script     1.0.0.1  PowerShellGet      {Install-Module, Find-Module, ...

Om versionen av PowerShellGet är nyare kan 1.0.0.1 du kontrollera efter uppdateringar och installera den senaste versionen.

Om du fortfarande kör versionen 1.0.0.1måste du följa stegen för att låta PowerShellGet installera en uppdaterad NuGet-leverantör och nuget.exe kommandoradsverktyget. Fortsätt till nästa steg.

Steg 3: Kontrollera efter uppdateringar

För att kontrollera de senaste versionerna av modulerna som finns tillgängliga i PowerShell Gallery, kör följande kommando:

$Names = @('PowerShellGet', 'PackageManagement', 'Microsoft.PowerShell.PSResourceGet')
Find-Module -Name $Names -Repository PSGallery

Du bör få ett resultat liknande följande resultat:

Version   Name                                Repository   Description
-------   ----                                ----------   -----------
1.4.8.1   PackageManagement                   PSGallery    PackageManagement (a.k.a. OneGet) is a n…
2.2.5     PowerShellGet                       PSGallery    PowerShell module with commands for disc…
1.1.1     Microsoft.PowerShell.PSResourceGet  PSGallery    PowerShell module with commands for disc…

Steg 4: Uppdatera NuGet-komponenter (om det behövs)

En uppdaterad NuGet-leverantör krävs av PowerShellGet-kommandon för att fungera med PowerShell-galleriet. Kommandona Publish-* använder nuget.exe eller dotnet.exe publicerar resurser. Om inget av verktygen finns tillgängligt installeras PowerShellGet nuget.exe. Om du fortfarande kör versionen 1.0.0.1 av PowerShellGet, Find-Module uppmanar den dig att installera NuGet-leverantören. Skriv in Y för att installera leverantören.

NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet
-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageMan
agement\ProviderAssemblies' or 'C:\Users\user1\AppData\Local\PackageManagement\ProviderAs
semblies'. You can also install the NuGet provider by running 'Install-PackageProvider -N
ame NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install and imp
ort the NuGet provider now?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
VERBOSE: Installing NuGet provider.

När du svarar på Y installerar PowerShellGet NuGet-leverantören och nuget.exe kommandoradsverktyget (om det behövs).

Steg 5: Installera den senaste versionen

För att installera de senaste versionerna av dessa moduler kör följande:

Install-Module PowerShellGet -Repository PSGallery -Force -AllowClobber
Install-Module Microsoft.PowerShell.PSResourceGet -Repository PSGallery

Anmärkning

När du installerar PowerShellGet installeras automatiskt den senaste versionen av PackageManagement.