Quelle commande NuGet PowerShell renverra une liste de toutes les versions d'un package spécifique?
J'ai essayé ce qui suit, mais il ne renvoie qu'une seule version de NUnit avec un certain nombre d'autres packages (non) liés, chacun n'ayant qu'une seule version.
Get-Package -Source https://go.Microsoft.com/fwlink/?LinkID=206669 -ListAvailable -Filter NUnit -AllVersions
Remarque: je spécifie l'URI source car nous avons notre propre source de package interne comme télécommande par défaut.
Je crois comprendre que le -AllVersions
switch devrait retirer chaque version de chaque package correspondant.
Ce que je n'arrive pas à comprendre, c'est:
Depuis la version 3.x, get-package -ListAvailable -AllVersions
fonctionnera toujours, mais émettra l'avertissement suivant concernant la dépréciation imminente:
Cette combinaison commande/paramètre est obsolète et sera supprimée dans la prochaine version. Veuillez envisager d'utiliser la nouvelle commande qui la remplace: "Find-Package [-Id] -AllVersions".
En plus, Find-Package
prend en charge un -ExactMatch
commutateur qui évitera les problèmes de correspondance générique qui -Filter
a:
Find-Package NUnit -AllVersions -ExactMatch -Source https://api.nuget.org/v3/index.json
Votre source résout la version 1 du flux qui ne semble pas fonctionner avec -AllVersions (j'ai déposé un problème: https://github.com/NuGet/NuGetGallery/issues/56 )
L'utilisation du flux V2 fonctionne pour moi:
get-package -ListAvailable -AllVersions -filter nunit -source https://nuget.org/api/v2/
mais notez que -filter n'est pas pour un package spécifique mais plutôt comme un terme de recherche.
Pour contourner ce problème, j'utiliserais la saisie semi-automatique des onglets pour obtenir la liste des versions d'un package spécifique:
install-package -source https://nuget.org/api/v2/ -id nunit -version <tab>
Pour étendre les solutions déjà fournies et répondre aux questions complémentaires de King King et JohnKoz, il est possible d'obtenir la liste complète des versions d'un package spécifique comme suit:
Find-Package -AllVersions -source https://nuget.org/api/v2/ Newtonsoft.Json -ExactMatch | foreach { $_.Versions } | Select-Object Version
Le package Newtonsoft.Json en est un exemple. Remplacez-le au besoin.
Cela fonctionne en obtenant d'abord toutes les versions pour un seul paquet (via -ExactMatch). Cela renvoie un objet de package qui a une propriété Versions, qui est un tableau d'objets de version. Le foreach itère sur tous ces éléments et le Select-Object garantit que chaque objet de version est sorti en une seule ligne (en sélectionnant uniquement sa propriété principale).