Instalación de PowerShellGet en Windows

Importante

Windows PowerShell 5.1 incluye la versión 1.0.0.1 de PowerShellGet preinstalada. Esta versión de PowerShellGet tiene características limitadas y no admite las funcionalidades actualizadas de la Galería de PowerShell. Para que las admita, debe actualizar a la versión más reciente.

PowerShell 6.0 se incluye con la versión 1.6.0 de PowerShellGet. PowerShell 7.0 se incluye con la versión 2.2.3 de PowerShellGet. La versión compatible actual de PowerShellGet es la 2.2.5. Si ejecuta Windows PowerShell 5.1, debe instalar una versión más reciente.

Para obtener los mejores resultados, siempre debe instalar la versión compatible más reciente.

Actualización de la versión preinstalada de PowerShellGet

El módulo PowerShellGet incluye cmdlets para instalar y actualizar módulos:

  • Install-Module instala la versión más reciente (no preliminar) de un módulo.
  • Update-Module instala la versión más reciente (no preliminar) de un módulo si es más reciente que el módulo instalado actualmente, pero este cmdlet solo funciona si la versión anterior se instaló mediante Install-Module.

Para actualizar el módulo preinstalado, debe usar Install-Module. Después de instalar la nueva versión desde la Galería de PowerShell, puede usar Update-Module para instalar versiones más recientes.

Actualización de PowerShellGet para Windows PowerShell 5.1

Requisitos del sistema

  • PowerShellGet requiere .NET Framework 4.5 o una versión posterior. Para más información, consulte Instalación de .NET Framework para desarrolladores.

  • Para acceder a la Galería de PowerShell, debe usar la seguridad de la capa de transporte (TLS) 1.2 o superior. De forma predeterminada, PowerShell no está configurado para usar TLS 1.2. Use el siguiente comando para habilitar TLS 1.2 en la sesión de PowerShell.

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

    También se recomienda agregar esta línea de código al script de perfil de PowerShell. Para obtener más información sobre los perfiles, consulte about_Profiles.

Instalación de la versión más reciente de PowerShellGet

Windows PowerShell 5.1 incluye la versión 1.0.0.1 de PowerShellGet, que no incluye el proveedor de NuGet. PowerShellGet requiere el proveedor al trabajar con la Galería de PowerShell.

Nota

Los comandos siguientes deben ejecutarse desde una sesión de PowerShell con privilegios elevados: Haga clic con el botón derecho en el icono de PowerShell y elija Ejecutar como administrador para iniciar una sesión con privilegios elevados.

Hay dos maneras de instalar el proveedor de NuGet:

  • Usar Install-PackageProvider para instalar NuGet antes de instalar otros módulos

    Ejecute el siguiente comando para instalar el proveedor de NuGet.

    Install-PackageProvider -Name NuGet -Force
    

    Después de instalar el proveedor, debería poder usar cualquiera de los cmdlets de PowerShellGet con la Galería de PowerShell.

  • Permita que Install-Module le pida que instale el proveedor de NuGet

    El siguiente comando intenta instalar el módulo PowerShellGet actualizado sin el proveedor de NuGet.

    Install-Module PowerShellGet -AllowClobber -Force
    

    Install-Module le pide que instale el proveedor de NuGet. Escriba 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\PackageManagement\ProviderAssemblies'
    or 'C:\Users\user1\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet
    provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you
    want PowerShellGet to install and import the NuGet provider now?
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
    VERBOSE: Installing NuGet provider.
    

Nota

Si no ha configurado TLS 1.2, se producirá un error en los intentos de instalar el proveedor de NuGet y otros paquetes.

Después de la instalación de PowerShellGet

Después de instalar la nueva versión de PowerShellGet, debe abrir una nueva sesión de PowerShell. PowerShell carga automáticamente la versión más reciente del módulo cuando se usa un cmdlet de PowerShellGet.

También se recomienda registrar la Galería de PowerShell como repositorio de confianza. Use el comando siguiente:

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

Para obtener más información, consulte Set-PSRepository.