推送.NET Framework包至GitHub组织仓库时遭遇403禁止错误求助
解决GitHub Enterprise NuGet推送403错误的排查点
源URL格式错误:你使用的
https://github.com/OUR_ORGANIZATION/DDSD_DLLs/package是仓库的Packages页面URL,并非NuGet源的正确地址。GitHub Enterprise的NuGet源标准格式应为:https://nuget.pkg.github.com/OUR_ORGANIZATION/index.json推送命令需修改为:
nuget push CentralRegistry.dll.1.0.0.nupkg <<my Classic GitHub token>> -src https://nuget.pkg.github.com/OUR_ORGANIZATION/index.json缺少用户名参数:NuGet CLI推送时必须指定用户名,即使使用令牌认证也需添加
-Username参数(可填写你的GitHub用户名):nuget push CentralRegistry.dll.1.0.0.nupkg <<my Classic GitHub token>> -Username YOUR_GITHUB_USERNAME -src https://nuget.pkg.github.com/OUR_ORGANIZATION/index.json组织/仓库权限限制:
- 检查组织设置是否允许个人PAT推送Packages,部分组织会强制要求通过GitHub Actions推送
- 确认目标仓库的Packages设置已启用NuGet作为支持的包类型
- 验证你的账号在该组织中是否拥有仓库写入权限(即便PAT配置了packages权限,组织角色或仓库权限不足仍会触发403)
PAT作用域与类型验证:
- 确保PAT是Classic类型(Fine-grained PAT对GitHub Packages的支持有限,尤其是旧版本GHE)
- 除
write:packages、read:packages、delete:packages外,需确认PAT勾选了repo仓库作用域(推送关联特定仓库的包时需要此权限)
包ID命名合规性:检查nupkg的ID是否符合GitHub Packages规则,不能包含特殊字符;若为仓库关联包,部分GHE版本要求包ID与仓库名称完全匹配
内容的提问来源于stack exchange,提问作者Rod
相关产品推荐
相关产品推荐

