迹忆客 专注技术分享

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

在 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

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

本文地址:

相关文章

在 Windows PowerShell 中获取命令行参数

发布时间:2024/03/04 浏览次数:358 分类:编程语言

本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。

Windows PowerShell 中的 Base64 编码

发布时间:2024/03/04 浏览次数:332 分类:编程语言

本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。

在 Windows PowerShell 中写入输出

发布时间:2024/03/04 浏览次数:259 分类:编程语言

本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。

在 PowerShell 中注释代码

发布时间:2024/03/04 浏览次数:363 分类:编程语言

本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便