更新用于 Windows PowerShell 5.1 的 PowerShellGet

Windows PowerShell 5.1 预安装了 1.0.0.1 版 PowerShellGetPackageManagement。 此版本的 PowerShellGet 功能有限,必须更新才能使用 PowerShell 库。 若要获得支持,必须更新到最新版本。

先决条件

  • PowerShellGet 需要 .NET Framework 4.5 或更高版本。 有关详细信息,请参阅安装面向开发人员的 .NET Framework

  • 若要访问 PowerShell 库,必须使用传输层安全性 (TLS) 1.2 或更高版本。 使用以下命令在 PowerShell 会话中启用 TLS 1.2。

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

    将此命令添加到 PowerShell 配置文件脚本,以确保为每个 PowerShell 会话配置 TLS 1.2。 有关配置文件的详细信息,请参阅 about_Profiles

安装最新版本的 PowerShellGet

PowerShellGet 模块包含用于安装和更新模块的 cmdlet:

  • Install-Module 安装最新版(非预发行版)模块。
  • Update-Module 如果模块版本比当前安装的模块更新,则安装最新的 (非预发行版) 版本。 但是,仅当以前的版本是使用 Install-Module 安装的,此 cmdlet 才有效。

若要更新预安装的模块,必须使用 Install-Module。 从 PowerShell 库安装新版本后,可使用 Update-Module 安装较新版本。

Windows PowerShell 5.1 附带了 PowerShellGet 版本 1.0.0.1,其中不包括 NuGet 提供程序。 使用 PowerShell 库时,PowerShellGet 需要该提供程序。

备注

必须从权限提升的 PowerShell 会话运行以下命令。 右键单击 PowerShell 图标,然后选择“以管理员身份运行”以启动提升的会话。

可通过以下两种方式安装 NuGet 提供程序:

  • 使用 Install-PackageProvider 在安装其他模块之前安装 NuGet

    运行以下命令以安装 NuGet 提供程序。

    Install-PackageProvider -Name NuGet -Force
    

    安装提供程序后,应能够在 PowerShell 库中使用任何 PowerShellGet cmdlet。

  • Install-Module 提示你安装 NuGet 提供程序

    以下命令尝试在没有 NuGet 提供程序的情况下安装更新的 PowerShellGet 模块。

    Install-Module PowerShellGet -AllowClobber -Force
    

    Install-Module 提示你安装 NuGet 提供程序。 键入 Y 以安装该提供程序。

    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.
    

安装 PowerShellGet 后

安装新版本的 PowerShellGet 后,应打开新的 PowerShell 会话。 使用 PowerShellGet cmdlet 时,PowerShell 会自动加载最新版本的模块。

我们还建议将 PowerShell 库注册为受信任的存储库。 请使用以下命令:

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

有关详细信息,请参阅 Set-PSRepository