Hello @atripp ,
For reference, my current repositories:
PS /Users/userName> Get-PSRepository
Name InstallationPolicy SourceLocation
---- ------------------ --------------
PSGallery Untrusted https://www.powershellgallery.com/api/v2
ProGet Trusted https://proget.company.com/nuget/PowerShell/
The links you referenced are due to having multiple providers present. In this case, it appears the same provider is returning two package results instead of one. It looks like these errors are due to ProGet returning multiple versions when the FindPackagesById() is called with local and non local packages(In some cases, more detail below)
VERBOSE: Searching repository 'https://proget.company.com/nuget/PowerShell/FindPackagesById()?id='ExchangeOnlineManagement'' for ''.
VERBOSE: Total package yield:'2' for the specified package 'ExchangeOnlineManagement'.
I can't seem to find any documentation, but I believe PowerShellGet expects to only receive the latest version available unless a specific version is specified(This is based on the fact that if more than one package is found, it errors). Looking further into ProGet returning two results, we see that it is returning the latest non local version as well as the latest local version. This feels like a bug more than an intended action as the PowerShellGet Provider seems to be expecting only 1 result during an Install query.
VERBOSE: Searching repository 'https://proget.company.com/nuget/PowerShell/FindPackagesById()?id='ExchangeOnlineManagement'' for ''.
VERBOSE: Total package yield:'2' for the specified package 'ExchangeOnlineManagement'.
...
WARNING: 'ExchangeOnlineManagement' matched module 'ExchangeOnlineManagement/1.0.1' from provider: 'PowerShellGet', repository 'ProGet'.
...
WARNING: 'ExchangeOnlineManagement' matched module 'ExchangeOnlineManagement/2.0.4' from provider: 'PowerShellGet', repository 'ProGet'.
The below two examples show a problematic module, as well as a module that works for some reason. The InvokeBuild example Find-Module command returns 2 results instead of one. Normally, to get more than one result the command should be ran with the -AllVersions flag(Ref). In this case it again returns the latest local and non local version.
Moving to the platyPS example, for some reason only one result is returned(As would normally be expected)
PS /Users/userName> Find-Module InvokeBuild -Repository ProGet
Version Name Repository Description
------- ---- ---------- -----------
5.5.11 InvokeBuild ProGet Build and test automation in PowerShell
5.7.3 InvokeBuild ProGet Build and test automation in PowerShell
PS /Users/userName> Find-Module platyPS -Repository ProGet
Version Name Repository Description
------- ---- ---------- -----------
0.14.1 platyPS ProGet Generate PowerShell External Help files from Markdown