8

As the title says I cannot use the Find-Package command with the nuget v3 url:

https://api.nuget.org/v3/index.json

If I run the command:

Find-Package nuget.versioning -Source https://api.nuget.org/v3/index.json

I get an error that no match was found. Changing the command to:

Find-Package nuget.versioning -Source https://www.nuget.org/api/v2

Works fine.

Do I need to upgrade some software to get this to work? I'm running Powershell version 5 so I'm not sure what steps I need to take to fix this.

Spencer Ruport
  • 34,865
  • 12
  • 85
  • 147
  • I believe there's a fix for this in the `PackageManagement` module. You could try updating that, but I remember the shipped module doesn't support v3 nuget. – Maximilian Burszley Jan 25 '19 at 17:00

1 Answers1

4

With Powershell 5.1, it fails as you described. But with PowerShell Core 7, it works correctly:

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.

Note that you can check for your PowerShell version through the PSVersionTable variable:

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

On PowerShell Core 7, you will see that it uses version 3 of the NuGet package provider, thus it supports protocol 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…
mabead
  • 2,171
  • 2
  • 27
  • 42