You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions推送NuGet包后无法在仓库查看的问题

解决GitHub Actions推送NuGet包后在Packages板块不显示的问题

以下是几个可能导致问题的原因及对应的修复方案:

1. YAML语法错误(缩进和拼写问题)

你的工作流代码存在两处关键语法问题:

  • 拼写错误:推送源地址中的orginization应为正确的组织名称拼写(比如organization,需和你GitHub上的组织名完全匹配)
  • 缩进错误:Checkout和Build步骤的缩进不符合YAML规范,YAML对缩进要求严格,必须保证同一层级的缩进一致(建议统一使用2或4个空格)

2. 缺少必要的权限配置

GitHub Actions默认权限不足以推送包到GitHub Packages,需要在工作流中显式配置权限:
在jobs上方添加permissions字段,授予读写Packages的权限:

permissions:
  contents: read
  packages: write

3. API密钥使用不当

不要硬编码API密钥,应该使用GitHub自动生成的GITHUB_TOKEN变量,它会自动继承你配置的权限,既安全又能避免权限不足的问题。

修正后的完整工作流代码

name: ci.main
permissions:
  contents: read
  packages: write
jobs:
  build:
    runs-on: ubuntu-latest  
    steps:
      - name: Checkout
        uses: actions/checkout@v2
     
      - name: Build
        run: >
          dotnet pack package \
                 -p:Version=1.0.0 \
                 -c Release \
                 -o ./location \
                 --include-source  
        
      - name: Push
        run: >
          dotnet nuget push \
          ./location/*.nupkg \
          --source "https://nuget.pkg.github.com/[你的组织名]/index.json" \
          --api-key ${{ secrets.GITHUB_TOKEN }} \
          --skip-duplicate

额外检查项

  • 确认推送源地址中的组织名和GitHub上的完全一致
  • 查看工作流执行日志,检查Push步骤是否有报错(比如401未授权、404源不存在等)
  • 如果是仓库级NuGet包,确认包ID和仓库名称匹配,或在dotnet pack时通过-p:RepositoryUrl指定目标仓库地址
  • 进入组织的Packages页面,检查是否有对应包被设置为隐藏状态

内容的提问来源于stack exchange,提问作者iluv_dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 21:52:35