PSResourceGet
PSResourceGet copied to clipboard
Support v3 dependencies for pwsh packages
Prerequisites
- [X] Write a descriptive title.
- [X] Make sure you are able to repro it on the latest released version
- [X] Search the existing issues.
Steps to reproduce
- Register an authenticated Azure DevOps Artifacts
PSResourceRepository
that has the PowerShell Gallery configured as an upstream source. Use theMicrosoft.PowerShell.SecureVault
module as the source of credentials. - Unregister the PowerShell Gallery resource repository.
-
Install-PSResource PSWindowsUpdate
Expected behavior
The `PSWindowsUpdate` module and any dependencies are installed.
Actual behavior
The install appears to work, but the following warning is shown:
> WARNING: Installing dependencies is not currently supported for V3 server protocol repositories. The package will be installed without installing dependencies.
Error details
No response
Environment data
PS C:\temp> Get-Module Microsoft.PowerShell.PSResourceGet; $PSVersionTable
ModuleType Version PreRelease Name ExportedCommands
---------- ------- ---------- ---- ----------------
Binary 1.0.2 Microsoft.PowerShell.PSResourceGet {Find-PSResource, Get-InstalledPSResource, Get-PSResourceRepository, Get-PSScriptFileInfo…}
Key : PSVersion
Value : 7.4.0
Name : PSVersion
Key : PSEdition
Value : Core
Name : PSEdition
Key : GitCommitId
Value : 7.4.0
Name : GitCommitId
Key : OS
Value : Microsoft Windows 10.0.19044
Name : OS
Key : Platform
Value : Win32NT
Name : Platform
Key : PSCompatibleVersions
Value : {1.0, 2.0, 3.0, 4.0…}
Name : PSCompatibleVersions
Key : PSRemotingProtocolVersion
Value : 2.3
Name : PSRemotingProtocolVersion
Key : SerializationVersion
Value : 1.1.0.1
Name : SerializationVersion
Key : WSManStackVersion
Value : 3.0
Name : WSManStackVersion
Visuals
No response
Thanks @nbarnwell what repository are you seeing this with? and what is the apiversion?
I updated the reproduction steps.
Thanks, if you register this as a v2 feed instead of a v3 feed you can get rid of this warning message
I'll try it again but I'm pretty sure I couldn't get it to work at all with a v2 feed, I think because it's an authenticated feed.
@SydneyhSmith Indeed it doesn't work for authenticated repositories. In fact, I get the error I previously reported in https://github.com/PowerShell/PSResourceGet/issues/1491, which I don't think anyone cares about, either. PowerShell module stuff isn't fit for purpose when it comes to authenticated feeds. It's all very well and good encouraging folks to publish to the PowerShell gallery, but to have this massive blind spot when it comes to corporate packages in private feeds is a real surprise. I'd have thought the PowerShellGet team would've been dogfooding on Azure DevOps Artifacts feeds themselves, but I guess not or these issues (there are several) would get looked at.
Also, I wasn't trying to get rid of a warning message - I need dependency support on v3 feeds. V2 feeds are broken so telling me to go back to that when I've been on a several-month-long journey trying to get all this to hang together is a bit hard to swallow.
I don't know if this issue is related to the topic here.
What I find strange, is when adding PowerShellGallery as upstream source, it works with the old PowerShellGet to install a module through there. When using Install-PSResource, if the module has not been downloaded from PowerShellGallery, it throws an error it cannot find the module.
@Gijsreyn can you please open a new issue for that-- that is not expected
@SydneyhSmith I'll run some more test to see the different endpoint urls from Azure Artifacts and open a issue if it persists.