Chocolatey 不使用 PowerShell cmdlet
Chocolatey not Working with PowerShell cmdlets
所以,我兴奋起来 运行。但是,我注意到这些 cmdlet 不起作用。就像,如果尝试使用 choco 命令做任何事情;例如:choco install vlc
,效果很好。但是,如果我尝试使用旧的 cmdlet;
例如:Install-Package -Name vlc -Source 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, SemanticVersion version,
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 注册为包源。此外,如果我尝试更新它,它会说我已经是 运行 最新版本(包括 power shell 和 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
您可能想先尝试第二组命令,如果单独执行,我会更新此答案。
所以,我兴奋起来 运行。但是,我注意到这些 cmdlet 不起作用。就像,如果尝试使用 choco 命令做任何事情;例如:choco install vlc
,效果很好。但是,如果我尝试使用旧的 cmdlet;
例如:Install-Package -Name vlc -Source 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, SemanticVersion version,
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 注册为包源。此外,如果我尝试更新它,它会说我已经是 运行 最新版本(包括 power shell 和 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
您可能想先尝试第二组命令,如果单独执行,我会更新此答案。