无法在Linux上的PowerShell Core中安装NuGet软件包提供程序

无法在Linux上的PowerShell Core中安装NuGet软件包提供程序,nuget,powershell-core,Nuget,Powershell Core,我正在尝试在PowerShell 7中的Linux上设置NuGet软件包提供程序,以便使用安装软件包从NuGet Gallery获取软件包。但是,当我跑步时: Install-PackageProvider -Name NuGet -Force 我得到以下错误: Install-PackageProvider: No match was found for the specified search criteria for the provider 'NuGet'. The package p

我正在尝试在PowerShell 7中的Linux上设置NuGet软件包提供程序,以便使用
安装软件包
从NuGet Gallery获取软件包。但是,当我跑步时:

Install-PackageProvider -Name NuGet -Force
我得到以下错误:

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 the tags.
我做了一些搜索,从这个站点和其他出现此错误的站点中找到了一些问题,一些答案说我需要强制TLS 1.2:

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
有些人说要在
安装PackageSource
上指定
-RequiredVersion
,有些人说要使用
-ForceBootstrap
,还有一些人说要使用
-Force
。这些都不管用,我每次都会遇到同样的错误
Get PackageProvider
将NuGet列为提供程序


很抱歉,我也无法使用PowerShell Core在Windows上安装NuGet提供程序,出现了相同的错误。PowerShell Core不支持这一点吗?

我也收到了此错误,指定版本(目前为3.0.0.1)也失败了。对我有效的方法是将packageprovider管道化到
安装packageprovider

Get-PackageProvider | where name -eq 'nuget' | Install-PackageProvider

如果要避免对
回答“是”,则可以添加
-Force
,该包来自未标记为受信任的包源。您确定要从“”安装软件吗?

除了@DougMaurer的回答之外,我还必须配置软件包源:

$sourceArgs = @{
  Name = 'nuget.org'
  Location = 'https://www.nuget.org/api/v2'
  ProviderName = 'NuGet'
}
Register-PackageSource @sourceArgs

将TLS12与Install Nuget软件包一起设置对我来说很有用

下面是我如何使用该命令:

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet

NuGet位置已更新。您也可以在一行中完成:

Register-PackageSource -Name nuget.org -ProviderName NuGet -Location "https://api.nuget.org/v3/index.json" -Trusted

谢谢,这让我在需要安装软件包的地方走了一半。一旦我安装了提供商,我仍然需要注册软件包源代码。谢谢分享这些信息。未来的读者谢谢你们。