将Powershell模块发布到Bintray Nuget存储库

问题描述

我在bintray中创建了一个nuget存储库,我想发布一个Powershell模块。我已经在Bintray中创建了一个程序包并添加了一个版本。

首先,我添加了存储库:

Register-PSRepository -Name "Bintray" -SourceLocation "https://api.bintray.com/nuget/{organization}/{repository}" -PublishLocation "https://api.bintray.com/nuget/{organization}/{repository}" -InstallationPolicy Trusted

然后,我尝试发布:

Publish-Module -Path . -Repository "Bintray" -NugetApiKey {MyApiKey}

Publish-PSArtifactUtility:无法发布模块'MyModule':'响应状态代码不指示成功:401(未授权)'

我已经检查了我的API密钥,我的用户是“成员”,并且成员在存储库中具有“发布”权限。对存储库没有任何限制。 Bintray中的软件包名称与我要发布的模块的名称匹配。

我还尝试将-Credential {UserName}附加到发布命令,并在出现提示时输入密码。结果总是一样。

我想念什么?如何将Powershell模块发布到Bintray nuget存储库?


编辑更新:当我尝试使用Bintry帐户admin时,我收到错误405“不允许”。使用PowerShell Publish-Module并直接调用nuget就是这样。 curl给了我400错误:bintray-cli也出现“上传时发生错误”。 Web UI会显示一般错误消息。

article表示可与Artifactory一起使用; jfrog将Bintray称为“成熟的nuget储存库”。那为什么不起作用?

解决方法

请澄清一下,JFrog仅有的文档在这里,并且并没有太大帮助:

https://jfrog.com/knowledge-base/how-to-work-with-powershell-modules-and-nuget-repository-in-artifactory/

我们能够在bintray中创建一个nuget存储库,并尝试使用bintray中的等效URL(而不是人工制品)进行成功。在这种情况下,相对于内部工件管理(人工工厂),我们确实需要合适的东西可以对外发布给客户(纸盒)。

,

正确指定了身份验证信息和URL后,我发现了问题编辑中详细说明的400/405错误(“上载时发生错误”)。

我们确定失败是由程序包.nuspec文件中的{{1}}元素引起的,该元素超过1024个字符。这不是发布的限制,也不是格式的固有限制(nuget.org宣传它们最多支持4000个字符)。删除或截断标签可以将包装上载到Bintray。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...