无法推送 Nuget 的 GitHub 包

问题描述 投票:0回答:2

我遵循了所有指导,以便能够将我的类库的 nuget 包推送到我的私有 GitHub 存储库中。

我将以下内容添加到我的 csproj 中

<PropertyGroup>
       <TargetFramework>net5.0</TargetFramework>
       <PackageId>NextWareProductPortalClientServices</PackageId>
       <Version>1.0.1</Version>
       <Authors>CodeGenerator</Authors>
       <Company>NextWare</Company>
       <PackageDescription>This package adds gRPC client library for the NextWare ProductPortal 
       </PackageDescription>
       <RepositoryUrl>https://github.com/NextWareGroup/PPD</RepositoryUrl>
 </PropertyGroup>

我将以下 nuget.config 文件添加到项目的根目录..

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <clear />
        <add key="github" value="https://nuget.pkg.github.com/jkears/index.json" />
    </packageSources>
    <packageSourceCredentials>
        <github>
            <add key="Username" value="jkears" />
            <add key="ClearTextPassword" value="******6d5a57b7527dfcc646b62ca7d1*****" />
        </github>
    </packageSourceCredentials>
</configuration>

个人令牌已应用所有权限。

运行 dotnet cli 创建包后,我在 bin 中看到该包 释放文件夹。 然后我尝试运行以下命令...

dotnet nuget push "bin/Release/NextWareProductPortalClientServices.1.0.1.nupkg" --source "github"

输出如下;

warn : No API Key was provided and no API Key could be found for 'https://nuget.pkg.github.com/jkears'. To save an API Key for a source use the 'setApiKey' command.
Pushing NextWareProductPortalClientServices.1.0.1.nupkg to 'https://nuget.pkg.github.com/jkears'...
  PUT https://nuget.pkg.github.com/jkears/
An error was encountered when fetching 'PUT https://nuget.pkg.github.com/jkears/'. The request will now be retried.
An error occurred while sending the request.
  The response ended prematurely.
  PUT https://nuget.pkg.github.com/jkears/
An error was encountered when fetching 'PUT https://nuget.pkg.github.com/jkears/'. The request will now be retried.
An error occurred while sending the request.
  The response ended prematurely.
  PUT https://nuget.pkg.github.com/jkears/
error: An error occurred while sending the request.
error:   The response ended prematurely.

我已经研究过这个问题,但所报告的修复程序都不适合我,包括直接从 Nuget CLI 运行。

.net nuget-package github-package-registry
2个回答
2
投票

虽然不是答案,但我可以使用以下curl命令推送nuget包..

curl -vX PUT -u "[OwnerName]:[PersonalToken]" -F [电子邮件受保护] https://nuget.pkg.github.com/jkears/

我不确定为什么 DotNet CLI 不起作用,但上面的内容就是我所需要的。


0
投票

我也遇到了这个问题,并且它与相对较大的包一致发生(在我的例子中约为 3.4MB)。我的结论是,这是 dotnet nuget 的问题。奇怪的是,这个问题“不会”发生在独立的 Nuget 客户端(在 https://www.nuget.org/downloads 下载)上,或者正如您已经知道的那样,使用 curl 或 HTTP 客户端制作 PUT 请求。

这是成功上传包的

nuget

命令:

nuget push -Source "github" -SkipDuplicate $file.FullName

我在这里报告了
问题

© www.soinside.com 2019 - 2024. All rights reserved.