正如标题所述,我无法将finget-Package命令与nuget v3网址一起使用:
https://api.nuget.org/v3/index.json
如果我运行命令:
Find-Package nuget.versioning -Source https://api.nuget.org/v3/index.json
我收到一条找不到匹配项的错误。将命令更改为:
Find-Package nuget.versioning -Source https://www.nuget.org/api/v2
很好。
我需要升级某些软件才能使其正常工作吗?我正在运行Powershell版本5,所以我不确定需要采取哪些步骤来解决此问题。
答案 0 :(得分:1)
对于Powershell 5.1,它会按照您的描述失败。但是使用PowerShell Core 7,它可以正常工作:
PS> Find-Package nuget.versioning -Source https://api.nuget.org/v3/index.json -ProviderName NuGet
Name Version Source Summary
---- ------- ------ -------
NuGet.Versioning 4.6.4 nuget.org NuGet's implementation of Semantic Versioning.
请注意,您可以通过PSVersionTable
变量来检查您的PowerShell版本:
PS> $PSVersionTable
Name Value
---- -----
PSVersion 7.0.0
PSEdition Core
GitCommitId 7.0.0
OS Microsoft Windows 10.0.18362
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
在PowerShell Core 7上,您将看到它使用NuGet软件包提供程序的版本3,因此它支持协议v3。
PS> Get-PackageProvider
Name Version DynamicOptions
---- ------- --------------
NuGet 3.0.0.1 Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, ConfigFile, SkipValidate
PowerShellGet 2.2.3.0 PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPathUpdate, AllowPrereleaseVersions, Filter, Tag, Includes, DscResource, RoleCapability, Command, Accep…