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.
You can find packages directly at https://nuget.org/packages, or from the Visual Studio Package Manager UI or Package Manager Console with nuget.org as a source. All packages from nuget.org are routinely scanned for viruses.
Solution. Examine the project's dependencies in Visual Studio to be sure you're using the correct package identifier and version number. Also check that the NuGet configuration identifies the package sources you are expected to be using. If you use packages that have Semantic Versioning 2.0.
Quickly find and install a package Open your project or solution in Visual Studio, and select Tools > NuGet Package Manager > Package Manager Console to open the Package Manager Console window. In the console, enter Find-Package with a keyword to find the package you want to install.
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…
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With