Chocolatey无法使用PowerShell cmdlet

问题描述

所以,我开始运转了。但是,我注意到这些cmdlet无法正常工作。如上所示,如果尝试使用choco命令执行任何操作;例如:choco install vlc效果很好。但是,如果我尝试使用良好的旧cmdlet; 例如:Install-Package -Name vlc -Source chocolatey, 它总是向我发出警告,提示我找不到Chocolatey-core.extension。

信件是:-

WARNING: NuGet: system.invalidOperationException: Unable to find version '1.3.5.1' of package
'chocolatey-core.extension'.
WARNING: NuGet:    at NuGet.PackageRepositoryHelper.ResolvePackage(IPackageRepository sourceRepository,IPackageRepository localRepository,IPackageConstraintProvider constraintProvider,String packageId,SemanticVersion version,Boolean allowPrereleaseVersions)
WARNING: NuGet:    at NuGet.PackageManager.InstallPackage(String packageId,Boolean ignoreDependencies,Boolean allowPrereleaseVersions)
WARNING: NuGet:    at NuGet.Commands.InstallCommand.InstallPackage(IFileSystem fileSystem,String
packageId,SemanticVersion version)
WARNING: NuGet:    at NuGet.Program.Main(String[] args)
WARNING: NuGet: system.invalidOperationException: Unable to find version '3.0.11' of package 'vlc'.

很抱歉,这是一个琐碎的问题,但是我已经尝试使它在相当长的一段时间内正常工作,这确实困扰着我。我已按照Chocolatey网站上的安装步骤进行操作,并且未注册然后再将Chocolatey作为软件包来源进行注册。另外,如果我尝试更新它,则说我已经在运行最新版本(电源壳和choco都在运行)。这正常吗?我应该忘掉它吗?...尽管如此,我到底做错了什么?

解决方法

我也遇到了这个问题。 NuGet和TLS 1.3似乎是一个问题。尽管我不确定是否需要第一组命令,但运行所有命令确实可以解决该问题。

禁用TLS 1.3

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

更改.Net Framework默认TLS版本

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32

您可能想先尝试第二组命令,如果仅这样做,我将更新此答案。

Source

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...