【发布时间】:2020-03-25 21:51:48
【问题描述】:
我尝试将 nuget 包发布到我的 GitHub Packages 帐户,但在所有情况下我都遇到 404 错误。 我已按照 GitHub 网站上的要求关注:
nuget source Add -Name "GitHub" -Source "https://nuget.pkg.github.com/[MyAccount]/index.json" -UserName [MyUserName] -Password GH_TOKEN
提示我添加 api 密钥时出错。
所以我创建了个人访问令牌并设置了 api 密钥:
nuget setapikey [MY_PAT_TOKEN] -Source "https://nuget.pkg.github.com/[MyAccount]/index.json"
但是当我再次尝试推动时,我有:
“您的请求无法通过 GitHub Packages 的身份验证 服务。请确保您的访问令牌有效且具有 配置了适当的范围。”
所以我创建了另一个具有必要范围的令牌: - 阅读:包 - 写:包 - 删除:包 - 回购
我删除了源和api密钥并使用新令牌重新开始上述步骤,但出现404错误,说找不到源。
所以我尝试了很多选择...更改包名称,更改源名称以及其他一些东西,但结果相同。
所以我在 GitHub 的网站上读到了这篇文章:
"当你发布一个包时,默认情况下 GitHub Packages 使用 包名称来确定包含 包裹。例如,将发布一个名为 odata-client 的包 到 OWNER/odata-client 存储库。如果你想改变 包含包的存储库,或将多个包发布到 相同的存储库,您可以将 GitHub 存储库的 URL 包含在 包的 .nuspec 文件的存储库字段。”
由于我使用的是 .NET Core 3.0,所以我更改了 csproj,包括:
<RepositoryUrl>https://nuget.pkg.github.com/[MyAccount]/Common</RepositoryUrl>
<RepositoryType>git</RepositoryType>
但这次我有一个 400(错误请求)
我厌倦了上述 url 的一些变体:以 index.json 结尾,不以 index.json 结尾,以 common 结尾,等等……但总是有 Bad Request 错误。
所以我删除了这个配置并再次尝试:404(未找到)
我不知道该怎么办了。有人可以帮助我吗?我究竟做错了什么?它缺少一些配置?
【问题讨论】: