401 未经授权使用 Gradle 从 GitHub Packages 下载公共包

Pau*_*arz 11 gradle maven github-package-registry

我是公共 GitHub 存储库的维护者。我已经设置了 GitHub Actions 来发布到 GitHub 包。您可以在此处看到已创建的包:

https://github.com/paulschwarz/spring-dotenv/packages/135114

我注意到的第一件事是 GitHub 只提供了一个 Maven 安装片段。我使用此代码将依赖项添加到另一个项目,它似乎有效。

现在我想将此包导入到 Gradle 项目中。我加了

dependencies {
  implementation ('me.paulschwarz:spring-dotenv:0.0.3')
}
Run Code Online (Sandbox Code Playgroud)

和 gradle 告诉我

Could not find me.paulschwarz:spring-dotenv:0.0.3.
     Searched in the following locations:
       - https://jcenter.bintray.com/me/paulschwarz/spring-dotenv/0.0.3/spring-dotenv-0.0.3.pom
       - https://repo.maven.apache.org/maven2/me/paulschwarz/spring-dotenv/0.0.3/spring-dotenv-0.0.3.pom
Run Code Online (Sandbox Code Playgroud)

这已经很奇怪了,因为我的 Maven 项目在解决依赖项方面似乎没有问题。我必须说我很好奇它是如何工作的?GitHub 包肯定没有与 JCenter 或 Maven Central 集成?

无论如何,下一步,添加存储库

repositories {
    jcenter()
    mavenCentral()
    maven { url = uri('https://maven.pkg.github.com/paulschwarz/spring-dotenv') }
}
Run Code Online (Sandbox Code Playgroud)

此时,Gradle 应该知道在哪里可以找到包。但是,我得到了这个

      > Could not resolve me.paulschwarz:spring-dotenv:0.0.3.
         > Could not get resource 'https://maven.pkg.github.com/paulschwarz/spring-dotenv/me/paulschwarz/spring-dotenv/0.0.3/spring-dotenv-0.0.3.pom'.
            > Could not GET 'https://maven.pkg.github.com/paulschwarz/spring-dotenv/me/paulschwarz/spring-dotenv/0.0.3/spring-dotenv-0.0.3.pom'. Received status code 401 from server: Unauthorized
Run Code Online (Sandbox Code Playgroud)

这真的是未经授权的401吗?或者 URL 错误并且它试图访问授权端点?

如果是正品,为什么?这是一个带有公共包的公共仓库。我可以匿名直接从 GitHub 页面下载该包。我在 Gradle 中做错了什么?

Ste*_*ris 6

正如您所观察到的,GitHub 目前不支持未经授权的包访问(但将来计划),正如他们的一位员工所解释的那样(2020 年 5 月 27 日)

\n
\n

我们的 Maven 服务目前不允许\xe2\x80\x99 未经授权的访问。我们计划将来提供此服务,但在此之前需要稍微改进一下服务。

\n

对于操作,您可以将 PAT 添加到您的机密存储中或使用 GITHUB_TOKEN 进行身份验证。在您的 settings.xml 中,我们建议使用环境变量方法(请参阅 setup-java 4),这样您就不会\xe2\x80\x99t 将标记存储在文件中。

\n
\n

  • 许多人在 Github 社区上请求相同的另一个线程:[无需身份验证从 Github 包注册表下载](https://github.community/t/download-from-github-package-registry-without-authentication/14407) (2认同)