List all available versions of a specific package in NuGet Package Manager Console

Viewed 41306

What NuGet PowerShell command will return a list of all versions of a specific package?

I have tried the following, but it only returns one version of NUnit along with a number of other (un)related packages, each having only one version.

Get-Package -Source https://go.microsoft.com/fwlink/?LinkID=206669 -ListAvailable -Filter NUnit -AllVersions

Note: I specify the source URI because we have our own internal package source as our default remote.

My understanding is that the -AllVersions switch should pull back every version of each matching package.

I can't seem to figure out:

  1. Am I doing it wrong?
  2. If not, are project maintainers (or someone else) removing older versions from the package source?
  3. If they are, why?
3 Answers

To extend on the already provided solutions and address the follow-up questions by King King and JohnKoz, it is possible to get the full list of versions for a specific package as follows:

Find-Package -AllVersions -source https://nuget.org/api/v2/ Newtonsoft.Json -ExactMatch | foreach { $_.Versions } | Select-Object Version

The package Newtonsoft.Json is an example. Replace it as needed.

It works by first getting all versions for a single package (via -ExactMatch). This returns a package object that has a Versions property, which is an array of version objects. The foreach iterates over all these and the Select-Object ensures that each version object is output as a single line (by only selecting its main property).

Related