关于powershell5.1 Install-Module 报错
在安装某些模块的时候,如安装 PowerShellGet 模块,提示我们无法安装 NuGet 提供程序,警告无法从 URI 下载,无法下载可用提供程序的列表。错误后安装失败。
总结:Windows10自带powershell为5.1版本,默认SSL 3.0 和 TLS 1.0均已弃用。
解决方法:安装powershell7.4,或在powershell5.1启用TLS 1.2
Get-Host | Select-Object Version 检查版本信息
[Net.ServicePointManager]::SecurityProtocol 检查安全协议 ,如显示Ssl3, Tls则为SSL 3.0和TLS 1.0
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
在 64 /32位 .Net Framework(版本 4 及更高版本)上设置强加密
重启powershell后再次检查安全协议,再次尝试 Install-Module ,按 Y 安装 NuGet 提供程序成功
报错信息:
要求安装 NuGet 提供程序时,按 Y 并按 Enter
NuGet provider is required to continuePowerShellGet 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\administrator.EXOIP\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 installand import the NuGet provider now?[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
- 无法找到包提供程序“NuGet”。它可能尚未导入。
WARNING: Unable to download from URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' to ''.WARNING: Unable to download the list of available providers. Check your internet connection.PackageManagement\Install-PackageProvider : No match was found for the specified search criteria for the provider 'NuGet'. The package provider requires 'PackageManagement' and 'Provider' tags. Please check if the specified package has thetags.At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:7405 char:21+ ... $null = PackageManagement\Install-PackageProvider -Name $script:N ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (Microsoft.Power...PackageProvider:InstallPackageProvider) [Install-PackageProvider], Exception + FullyQualifiedErrorId : NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackageProvider
原帖 https://www.mssqltech.com/?p=748
原帖再次检查结果为Tls, Tls11, Tls12,试验结果SystemDefault也可以正常Install-Module

浙公网安备 33010602011771号