Compartir a través de


Instala un gestor de paquetes para PowerShell

Si usas PowerShell 6.0 o posterior, ya tienes instaladas una versión más reciente de PowerShellGet y PackageManagement . Debes asegurarte de que estás usando las últimas versiones de esos módulos.

Si usas PowerShell 7.4 o posterior, también tienes instalado Microsoft.PowerShell.PSResourceGet instalado. Microsoft.PowerShell.PSResourceGet es la nueva solución de gestión de paquetes para PowerShell. Con este módulo, ya no necesitas usar PowerShellGet ni PackageManagement. Se instala junto a los módulos existentes PowerShellGet y PackageManagement .

Windows PowerShell viene con la versión 1.0.0.1 de PowerShellGet y PackageManagement. Si usas Windows PowerShell 5.1, debes actualizar a la última versión de PowerShellGet y PackageManagement. Todas las versiones de PowerShellGet v1.x ya no son compatibles.

Utiliza las siguientes instrucciones para instalar o actualizar a las últimas versiones de estos módulos.

Paso 1: Activar TLS 1.2

Para acceder a la Galería PowerShell, debes usar Transport Layer Security (TLS) 1.2 o superior. Usa el siguiente comando para habilitar TLS 1.2 en tu sesión de PowerShell.

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

Añade este comando a tu script de perfil de PowerShell para asegurarte de que TLS 1.2 esté configurado para cada sesión de PowerShell. Para obtener más información sobre los perfiles, vea about_Profiles.

Paso 2: Revisa las versiones instaladas

Para comprobar las versiones actualmente instaladas de los módulos, ejecute el siguiente comando:

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

En Windows PowerShell 5.1 en un sistema Windows recién instalado, deberías obtener la siguiente salida:

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

Si la versión de PowerShellGet es más reciente, 1.0.0.1 puedes comprobar las actualizaciones e instalar la última versión.

Si aún estás ejecutando la versión 1.0.0.1, debes seguir los pasos para que PowerShellGet instale un proveedor NuGet actualizado y la nuget.exe herramienta de línea de comandos. Continúe con el paso siguiente.

Paso 3: Comprueba si hay novedades

Para comprobar las últimas versiones de los módulos disponibles en la Galería PowerShell, ejecute el siguiente comando:

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

Deberías obtener un resultado similar al siguiente:

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…

Paso 4: Actualizar los componentes NuGet (si es necesario)

Los comandos PowerShellGet requieren un proveedor NuGet actualizado para funcionar con la galería PowerShell. Los Publish-* comandos utilizan nuget.exe o dotnet.exe para publicar recursos. Si ninguna de las dos herramientas está disponible, PowerShellGet se nuget.exeinstala . Si sigues usando la versión 1.0.0.1 de PowerShellGet, Find-Module te pide instalar el proveedor NuGet. Introduce Y para instalar el proveedor.

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.

Cuando respondes Y, PowerShellGet instala el proveedor NuGet y la nuget.exe herramienta de línea de comandos (si es necesario).

Paso 5: Instalar la última versión

Para instalar las últimas versiones de estos módulos, ejecuta lo siguiente:

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

Nota:

Cuando instalas PowerShellGet, se instala automáticamente la última versión de PackageManagement.