如何在Mac上使用dotnet将NuGet软件包发布到GitHub软件包注册表?

如何在Mac上使用dotnet将NuGet软件包发布到GitHub软件包注册表?,nuget,nuget-package,dotnet-cli,github-package-registry,Nuget,Nuget Package,Dotnet Cli,Github Package Registry,文档不完整,目前我无法使用Mac上的dotnet将包消费或发布到GPR。任何帮助都会很有用,正如您在该链接中看到的那样。目前,GPR不支持dotnet nuget,您必须将nuget与Mono一起使用或从Windows发布 我希望他们能在不久的将来自己修复它,这完全阻止了我利用GPR。离理想还很远,我还没有在Mac上测试过,但它在Linux上工作 发表 在GitBHub设置中启用GPR“功能” 转到github并添加具有GPR读/写访问权限的令牌 在本地添加源 nuget source Add

文档不完整,目前我无法使用Mac上的dotnet将包消费或发布到GPR。任何帮助都会很有用,正如您在该链接中看到的那样。目前,GPR不支持dotnet nuget,您必须将nuget与Mono一起使用或从Windows发布


我希望他们能在不久的将来自己修复它,这完全阻止了我利用GPR。

离理想还很远,我还没有在Mac上测试过,但它在Linux上工作

发表
  • 在GitBHub设置中启用GPR“功能”
  • 转到github并添加具有GPR读/写访问权限的令牌
  • 在本地添加源

    nuget source Add -Name "GitHub" \
      -Source "https://nuget.pkg.github.com/MY_ACCOUNT/index.json"
    
  • 设置api密钥

    nuget setApiKey $TOKEN \
        -Source "https://nuget.pkg.github.com/MY_ACCOUNT/index.json"
    
推包 安装软件包 或者:
编辑项目包参考

最后:

dotnet restore 

您必须自己进行HTTP调用(为简洁起见,省略了其他步骤):

作业:
持续整合:
运行于:ubuntu最新版本
步骤:
-名称:推送
运行:|
对于f in./packages/*.nupkg
做
curl-vX PUT-u:${{secrets.GITHUB_TOKEN}}”-F package=@$Fhttps://nuget.pkg.github.com//
完成
if:github.event_name=='push'

我认为这不是一个“MAC”问题,而是一个“dotnet”问题,不管操作系统如何,我现在无法确认,因为我没有Windows机器,考虑将问题标题改为“使用dotnet CLI”,而不是“Mac’上的dotnet,您的帖子保存了我继续在Linux机器上碰壁。可以理解的挫折感在你链接的帖子中很明显。
    nuget install my.lib -pre # '-pre' because of alpha, if alpha
Note: 'nuget install' downloads the nuget package It doesn't add it to the project. 'dotnet' can't find it Do it anyway so it gets cached in `~/.nuget/packages` The `./project` relative downloaded package can be deleted
    dotnet add package my.lib \            
        -v 1.0.0-alpha \
        -n # don't download, it can't handle authentication
dotnet restore 
jobs:
  continuous-integration:
    runs-on: ubuntu-latest
    steps:
    - name: push
      run: |
        for f in ./packages/*.nupkg
        do
          curl -vX PUT -u "<YOUR USER NAME>:${{ secrets.GITHUB_TOKEN }}" -F package=@$f https://nuget.pkg.github.com/<YOUR USER NAME>/
        done
      if: github.event_name == 'push'