我尝试将 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 使用
包名称来确定包含该包的 GitHub 存储库
包裹。例如,将发布名为 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(错误请求)
我厌倦了上述网址的一些变体:以index.json结尾,以index.json结尾,以common结尾,等等......但总是有Bad Request错误。
所以我删除了这个配置并再次尝试:404(未找到)
我不知道该怎么办了。有人可以帮助我吗?我究竟做错了什么?是不是缺少一些配置?