使用Register-PSRepository添加NuGet/v3组织源失败及相关问题
Azure DevOps Artifacts PowerShell仓库注册及查询问题排查
问题现象
执行注册命令时,使用NuGet v3地址报错:
$patToken = "XXXXcj2s3q" | ConvertTo-SecureString -AsPlainText -Force $credsAzureDevopsServices = New-Object System.Management.Automation.PSCredential("XXXX@ceridian.com", $patToken) Register-PSRepository -SourceLocation https://pkgs.dev.azure.com/ORG/_packaging/FEED/nuget/v3 -Name DCloud -PublishLocation https://pkgs.dev.azure.com/Ceridian-dryrun/_packaging/dayforce/nuget/v3 -InstallationPolicy Trusted -Credential $credsAzureDevopsServices错误信息:
Register-PSRepository : 指定的Uri 'https://pkgs.dev.azure.com/ORG/_packaging/FEED/nuget/v3' 对于参数 'SourceLocation' 是无效的Web Uri,请确保其符合Web Uri要求。
改用NuGet v2地址注册成功,但执行
Find-Module查询模块时失败:Find-Module -Repository DCloud -Credential $credsAzureDevopsServices错误信息:
WARNING: 查询Url https://pkgs.dev.azure.com/ORG/_packaging/FEED/nuget/v2 无效。
解决步骤
- 修正源地址路径:Azure Artifacts的PowerShell仓库专用地址路径应为
powershell/v3,而非nuget/v3或nuget/v2,正确地址格式为https://pkgs.dev.azure.com/组织名/_packaging/仓库名/powershell/v3。 - 统一地址参数:确保
SourceLocation和PublishLocation指向同一组织和仓库,避免跨组织/仓库混用地址。 - 简化凭据配置:PAT令牌验证时,用户名可填任意非空字符串(无需真实邮箱),只要令牌有效即可。
- 重新注册仓库:使用正确地址执行注册:
$patToken = "XXXXcj2s3q" | ConvertTo-SecureString -AsPlainText -Force $credsAzureDevopsServices = New-Object System.Management.Automation.PSCredential("任意字符串", $patToken) Register-PSRepository -SourceLocation https://pkgs.dev.azure.com/ORG/_packaging/FEED/powershell/v3 -Name DCloud -PublishLocation https://pkgs.dev.azure.com/ORG/_packaging/FEED/powershell/v3 -InstallationPolicy Trusted -Credential $credsAzureDevopsServices - 测试查询:重新注册后执行
Find-Module验证:Find-Module -Repository DCloud -Credential $credsAzureDevopsServices
内容的提问来源于stack exchange,提问作者Alexey Auslender
相关产品推荐
相关产品推荐

