Condividi tramite


Installa un gestore di pacchetti per PowerShell

Se stai usando PowerShell 6.0 o versioni successive, hai già installato una versione più recente di PowerShellGet e PackageManagement . Dovresti assicurarti di utilizzare le versioni più recenti di quei moduli.

Se stai usando PowerShell 7.4 o versione, hai installato anche Microsoft.PowerShell.PSResourceGet installato. Microsoft.PowerShell.PSResourceGet è la nuova soluzione di gestione dei pacchetti per PowerShell. Con questo modulo, non è più necessario utilizzare PowerShellGet e PackageManagement. È installato fianco a fianco con i moduli PowerShellGet e PackageManagement esistenti.

Windows PowerShell viene fornito con la versione 1.0.0.1 di PowerShellGet e PackageManagement. Se stai usando Windows PowerShell 5.1, devi aggiornare all'ultima versione di PowerShellGet e PackageManagement. Tutte le versioni di PowerShellGet v1.x non sono più supportate.

Usa le seguenti istruzioni per installare o aggiornare alle versioni più recenti di questi moduli.

Passo 1: Abilita TLS 1.2

Per accedere alla PowerShell Gallery, devi utilizzare Transport Layer Security (TLS) 1.2 o superiore. Usa il seguente comando per abilitare TLS 1.2 nella tua sessione PowerShell.

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

Aggiungi questo comando allo script del profilo PowerShell per assicurarti che TLS 1.2 sia configurato per ogni sessione PowerShell. Per altre informazioni sui profili, vedere about_Profiles.

Passo 2: Controlla le versioni installate

Per verificare le versioni attualmente installate dei moduli, esegui il seguente comando:

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

In Windows PowerShell 5.1 su un sistema Windows appena installato, dovresti ottenere il seguente risultato:

    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, ...

Se la versione di PowerShellGet è più 1.0.0.1 recente, puoi controllare gli aggiornamenti e installare l'ultima versione.

Se stai ancora usando la versione 1.0.0.1, devi seguire i passaggi per permettere a PowerShellGet di installare un provider NuGet aggiornato e lo nuget.exe strumento da riga di comando. Continuare con il passaggio successivo.

Passo 3: Controlla gli aggiornamenti

Per verificare le versioni più recenti dei moduli disponibili nella PowerShell Gallery, esegui il seguente comando:

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

Dovresti ottenere un risultato simile al seguente risultato:

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…

Passo 4: Aggiorna i componenti NuGet (se necessario)

Un provider NuGet aggiornato è richiesto dai comandi PowerShellGet per funzionare con la PowerShell Gallery. I Publish-* comandi utilizzano nuget.exe o dotnet.exe pubblicano risorse. Se nessuno dei due strumenti è disponibile, PowerShellGet installa nuget.exe. Se stai ancora usando la versione 1.0.0.1 di PowerShellGet, Find-Module ti chiede di installare il provider NuGet. Inserisci Y per installare il provider.

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.

Quando rispondi a Y, PowerShellGet installa il provider NuGet e lo nuget.exe strumento da riga di comando (se necessario).

Passo 5: Installa l'ultima versione

Per installare le ultime versioni di questi moduli esegui quanto segue:

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

Annotazioni

Quando installi PowerShellGet, installa automaticamente l'ultima versione di PackageManagement.