2012-08-08 20 views
40

¿Qué comando de NuGet PowerShell devolverá una lista de todas las versiones de un paquete específico?Lista de todas las versiones disponibles de un paquete específico en NuGet Package Manager Console

He intentado lo siguiente, pero solo devuelve una versión de NUnit junto con un número de otros paquetes (no) relacionados, cada uno con una sola versión.

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

Nota: Me especificar el URI de origen porque tenemos nuestro propio origen del paquete interno como nuestro remoto predeterminado.

Mi entendimiento es que el -AllVersions interruptor debería extraer cada versión de cada paquete coincidente.

Lo que parece que no puede averiguar es:

  1. lo estoy haciendo mal?
  2. De lo contrario, ¿mantienen los desarrolladores del proyecto (u otra persona) las versiones anteriores del origen del paquete?
  3. Si lo son, ¿por qué?
+0

Usted dice que es el origen del paquete interno, y luego, si 2) es el caso , ¿por qué preguntar 3) aquí? Ve y pregúntales! – manojlds

+0

Quizás no estaba claro: el URI de origen que proporcioné fue (al parecer, ver la respuesta de Alexandre) el punto de origen fuente del paquete nuget v1. Nuestra fuente interna de paquetes solo tiene paquetes desarrollados internamente, por lo que debemos proporcionar -Source para consultar el origen oficial del paquete NuGet. Espero que ayude a aclarar. ¡Gracias por tu comentario! –

Respuesta

6

partir de la versión 3.x, get-package -ListAvailable -AllVersions seguirá funcionando, pero a emitir la siguiente advertencia acerca desaprobación inminente:

Esta combinación de comando/parámetro ha quedado obsoleta y se eliminará en la próxima versión. Considere usar el nuevo comando que lo reemplaza: 'Buscar-Paquete [-Id] -AllVersions'.

Además, Find-Package soporta un interruptor -ExactMatch lo que evitará los problemas de comodines coincidentes que -Filter tiene:

Find-Package NUnit -AllVersions -ExactMatch -Source https://api.nuget.org/v3/index.json

53

Su fuente resuelve con la versión 1 de la alimentación que no parece trabajar con -AllVersions (he presentado un problema: https://github.com/NuGet/NuGetGallery/issues/563)

Uso de la alimentación V2 funciona para mí:

get-package -ListAvailable -AllVersions -filter nunit -source https://nuget.org/api/v2/ 

pero tenga en cuenta que -filter no es para un paquete específico sino más bien como un término de búsqueda.

Como solución alternativa, que haría uso de la ficha de autocompletar para obtener la lista de las versiones de un paquete específico:

install-package -source https://nuget.org/api/v2/ -id nunit -version <tab> 
+5

¡Perfecto! No estaba al tanto de la función autocompletar de la pestaña. Esa es una solución mucho más simple que ejecutar todos esos comandos. Muchas gracias. Y gracias por abrir el tema. –

+0

Sería bueno tener autocompletar en el paquete de actualización también ... – OzrenTkalcecKrznaric

+3

Esto no es perfecto, no podemos ver todas las versiones enumeradas.En mi caso, si el paquete tiene más de 4 versiones, solo se muestran las 4 primeras mientras que todas las demás se truncan (reemplazadas por '...'). Se ve bastante bonito y ordenado con 3 columnas, pero no puede mostrar todas las versiones en la columna Versiones. No entiendo por qué esto es aceptable. Por lo tanto, si desea ver todas las versiones disponibles, simplemente use Nuget Package Manager (UI) en lugar de Nuget Package Console (al menos en este momento se vuelve inútil en este caso). –

Cuestiones relacionadas