source

NuGet Package Manager 콘솔에 특정 패키지의 사용 가능한 모든 버전 나열

ittop 2023. 7. 26. 22:27
반응형

NuGet Package Manager 콘솔에 특정 패키지의 사용 가능한 모든 버전 나열

특정 패키지의 모든 버전 목록을 반환하는 NuGet PowerShell 명령은 무엇입니까?

다음을 시도해 보았지만, 각각 하나의 버전만 있는 다른 (비) 관련 패키지와 함께 NUnit의 한 버전만 반환됩니다.

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

참고: 기본 원격으로 자체 내부 패키지 소스가 있으므로 소스 URI를 지정합니다.

제가 이해하는 바로는-AllVersions스위치는 일치하는 각 패키지의 모든 버전을 풀백해야 합니다.

이해할 수가 없습니다.

  1. 제가 잘못하고 있나요?
  2. 그렇지 않은 경우 프로젝트 유지 관리자(또는 다른 사용자)가 패키지 소스에서 이전 버전을 제거하고 있습니까?
  3. 만약 그렇다면, 왜죠?

소스가 작동하지 않는 피드 버전 1로 확인됩니다.-AllVersions(제가 문제를 제기했습니다: https://github.com/NuGet/NuGetGallery/issues/563)

V2 피드를 사용하면 다음과 같은 이점이 있습니다.

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

하지만 주의하세요.-filter특정 패키지에 대한 것이 아니라 검색어에 더 가깝습니다.

해결 방법으로 탭 자동 완성을 사용하여 특정 패키지의 버전 목록을 가져옵니다.

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

버전 3.x부터get-package -ListAvailable -AllVersions에서는 계속 작동하지만 곧 사용 중지될 경우 다음 경고를 표시합니다.

이 명령/매개 변수 조합은 더 이상 사용되지 않으며 다음 릴리스에서 제거될 예정입니다.이를 대체하는 새 명령어 'Find-Package [-Id] - AllVersions'를 사용하는 것을 고려해 보십시오.

또한 지원합니다.-ExactMatch와일드카드 일치 문제를 방지하는 스위치-Filter포함:

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

이미 제공된 솔루션을 확장하고 King과 John Koz의 후속 질문을 해결하기 위해 다음과 같이 특정 패키지에 대한 전체 버전 목록을 얻을 수 있습니다.

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

뉴튼소프트 패키지.Json이 그 예입니다.필요에 따라 교체합니다.

먼저 단일 패키지에 대한 모든 버전을 가져오는 방식으로 작동합니다.-ExactMatch) 버전 개체의 배열인 Versions 속성이 있는 패키지 개체를 반환합니다.for는 이 모든 것을 반복하며 Select-Object는 각 버전 개체가 주 속성만 선택하여 한 줄로 출력되도록 합니다.

언급URL : https://stackoverflow.com/questions/11867660/list-all-available-versions-of-a-specific-package-in-nuget-package-manager-conso

반응형