是否可以将 Register-PSRepository 与私有 gitlab 服务器(内部/私有项目)一起使用

Gre*_*egu 8 powershell nuget gitlab

我在 powershell 中添加存储库时遇到问题

Register-PSRepository -name gitlab -PublishLocation https://gitlab.private.com/api/v4/projects/3280491/packages/nuget/index.json -SourceLocation https://gitlab.private.com/api/v4/projects/3280491/packages/nuget/index.json -InstallationPolicy Trusted -Credential (Get-Credential) -PackageManagementProvider NuGet
Run Code Online (Sandbox Code Playgroud)

凭证用户:我的 gitlab 用户名,密码:我生成的具有 api 权限的访问令牌。

如果那么我想查询里面的模块: find-module -Repository gitlab 警告:查询网址https://gitlab.private.com/api/v4/projects/2797/packages/nuget/index.json无效。它向我抛出这个错误。

我已经用免费帐户在 gitlab.com 上的帐户上尝试了同样的操作。我也有同样的问题。如果我创建一个可供所有人使用的项目,那就没有问题了。如果项目是内部/私有的,就会发生这种情况。

如果我使用 nuget ,那么我将我的模块发布到 gitlab / private gitlab 没有问题,我执行 nuget install 没有问题...。知道为什么这不适用于 powershell cmdlet 吗?我不确定我是否理解我在互联网上找到的一些有关 powershellget 问题的消息,好像它在存储凭据方面会出现问题。也许有人看到这个问题,并且更了解并可以解释?

我可以在存储库中找到该模块:Find-Module -Repository gitlab -Credential $mycred

Version              Name                                Repository
-------              ----                                ----------
0.4.2                PrivateAutomation                 gitlab
Run Code Online (Sandbox Code Playgroud)

但是当通过管道传输到 Install-module 时,它​​不起作用 DEBUG: 00:00:01.7085410 Completed download 'https://gitlab.private.net/api/v4/projects/97/packages/nuget/metadata/privateautomation/0.4.2 .json'。警告:发生内部错误:NuGet API 返回的 JSON 对象与预期架构不匹配。预期属性:“类型”。检查调试流以获取完整的 JSON 对象转储。

我正在运行 powershell v7.1 / powershellget 2.2.5 谢谢。

Fro*_* F. 3

GitLab 使用 nuget v3端点作为存储库。当前稳定版本的 PowerShellGet 不支持 v3,但在撰写本文时处于预览版的PowerShellGet 3.0中支持 v3。