迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 PowerShell 中安装 NuGet 包

作者:迹忆客 最近更新:2024/03/01 浏览次数:

NuGet 是来自 .NET framework 的包管理工具,它类似于 PowerShellGet,支持多个命令和包以与 PowerShell 一起使用的 MSI 包。

例如,我们可能需要 NuGet 来运行特定的脚本。但是,在 Windows PowerShell 中安装 NuGet 包时,我们可能会遇到错误。

本文将了解发生错误的原因以及安装适用于 PowerShell 的 NuGet 提供程序的分步指南。


了解 PowerShell 中的 NuGet 安装挑战

以管理员身份打开 PowerShell。运行命令 Install-Module PowerShellGet -Force 安装 NuGet 包。

当要求确认安装 NuGet 提供程序时,按 Y 键并按 Enter

Install-Module PowerShellGet -Force

执行后,如果你在安装 NuGet 包时遇到了这些问题,我们可能需要做额外的步骤才能成功安装包。

  • 警告:无法从 URI 下载。
  • 警告:无法下载可用提供商列表。检查互联网连接。
  • 找不到包提供程序 NuGet。它可能尚未导入。

本文的下一部分将讨论正确安装 NuGet 包的分步过程。


查找 PowerShell 版本

我们必须首先找到系统上运行的 PowerShell 版本。

为此,我们可以使用 GetHost cmdlet 或导出 $PSVersionTable 变量。

Get-Host | Select-Object Version
$PSVersionTable

输出:

Version
-------
5.1.22000.282

默认情况下,PowerShell 5.1 启用 SSL 和 TLS 以实现安全 HTTP 连接,我们需要在其中升级以安装 NuGet 包。


PowerShell 中的传输层安全协议

要检查系统上支持的安全协议,我们可以使用下面的代码片段。

[Net.ServicePointManager]::SecurityProtocol

输出:

Ssl3, Tls

默认定义的安全协议是 SSL 3.0 和 TLS 1.0。

不幸的是,这两种安全协议都已弃用。因此,在撰写本文时,仅批准了 TLS 1.2 和 TLS 1.3。


正确安装 NuGet 包的解决方法

我们将在系统上启用 TLS 1.2。运行这两个 cmdlet 以设置 .NET 框架强加密注册表项。

然后,重新启动 PowerShell 并检查是否添加了安全协议 TLS 1.2。安装 PowerShellGet 模块。

第一个 cmdlet 在 64 位 .Net 框架(版本 4 及更高版本)上设置强加密。

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

第二个 cmdlet 在 32 位 .Net 框架(版本 4 及更高版本)上设置强加密。

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

重新启动 PowerShell 并检查 TLS 版本现在是否已更新。

[Net.ServicePointManager]::SecurityProtocol

输出:

Tls, Tls11, Tls12

另一种解决方法是手动重新分配安全协议命令。

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

输出:

Tls12

安装 TLS 1.2 后,重新运行包安装程序,这一次应该可以完美运行。

Install-Module PowerShellGet -Force

上一篇:在 PowerShell 中获取远程计算机上的注册表

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Windows PowerShell 中终止脚本

发布时间:2024/02/29 浏览次数:121 分类:编程语言

本文将列举几种在 Windows PowerShell 中终止脚本的方法。本文将解释和定义所有几个命令,并引用示例脚本块来说明在何处使用它们。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便