问题标签 [github-package-registry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
12572 浏览

github - Github 操作,使用 npm 或 yarn 安装 Github 包时出现 401 未授权

当我尝试npm从 GitHub 操作安装我的模块时,我收到以下错误:

在您发表评论之前,我已经使用范围和访问令牌正确配置了 .npmrc,并且在本地安装私有包时一切正常。

这是我的 GitHub 工作流程操作:

这是我的 .npmrc

这是一个私人仓库,authTokens 当前被硬编码在 .npmrc 文件中。

然而,在尝试为此寻找解决方案时,我确实遇到了 Github 工作人员的这条随机评论:https ://github.community/t/netlify-getting-401-from-github-package-registry-with-auth -令牌/16415/3

这有点含糊,但听起来它不接受 .npmrc 文件中的硬编码 authToken 。

所以我尝试的第一件事是使用我们的环境变量,而不是像这样:

env 变量在我们的 Github 存储库机密中是正确的,并由工作流提供。

但是,这仍然导致相同的 401 Unauthorized 错误。

通过查看其他解决方案,我尝试在install步骤之前在 Github 操作中手动生成 .npmrc,如下所示:

在我添加的日志记录步骤中,_authToken(仅适用于 Github)仍然显示为***,并且我仍然收到 401 Unauthorized 错误。

在这一点上,我想确认 .npmrc 甚至被使用,所以我删除了我们用于的第二个私有注册表marmelab.com,果然,我收到一个错误,说它不再能够安装他们的ra-realtime包。这证明 .npmrc 文件确实被我的 Github 操作读取和使用,但它不接受我的 Github 个人访问令牌。

我也尝试生成一个新令牌。它可以完全访问下面的所有内容repo:以及应该需要的内容write:packagesread:packages

在 Github 操作中仍然 401 Unauthorized,并且在本地仍然可以正常工作。

最后,我尝试使用yarn而不是npm. 不出所料,这也没有解决它。

我已经看到并尝试了以下解决方案,但没有成功:

一件事我没有尝试过,因为我没有看到关于如何或这是一个好主意的建议,但我还没有npm login在 Github 内进行操作。由于没有其他人这样做,并且以某种方式使其工作,我认为这没有必要。

0 投票
2 回答
3667 浏览

android - 发布 GitHub 包返回 422 错误

我在一个 Android 项目中使用 GitHub 包已经有一段时间了,没有任何问题。现在,当我尝试发布新包时,出现错误:

无法 PUT 从服务器接收到状态代码 422:无法处理的实体

为了确保我没有更改任何内容,我回到了几天前成功发布包的 git-tag,我只更改了版本以生成不同的包。我犯了同样的错误。

我添加了日志,可以看到令牌已正确读取,所有值(GROUP、VERSION 等)似乎都正确,并且我尝试发布的文件位于正确的文件夹中。我还尝试创建和使用新令牌,以防旧令牌出现问题,但没有帮助。

如果我发布了太多文件,GitHub 会拒绝发布该错误吗?我没有找到任何有关您在这种情况下遇到的错误的文档。

编辑

我还尝试创建一个新项目并发布到该项目,以防最初的项目出现问题,但它也不起作用。

我尝试使用 CURL 直接 PUT 一个文件,这意味着令牌是正确的,并且问题不在于已发布包的总大小的限制:

当然,这不是解决方案,因为我需要使用 pom 等发布 maven repo。

结束编辑

在这里,我的配置已经工作了很长时间,并且只是遵循文档+我添加的用于调查问题的日志。

build.gradle

publish-artifacts.gradle

gradle.properties文件中:

VARIANT_SUFFIX从环境变量设置。

archivesBaseName设置在模块的build.gradle

0 投票
1 回答
240 浏览

npm - 无法将包推送到 Github

我正在尝试为 NPM 项目设置 Github 包,但遇到了一些问题。

我在特定组织下有一个仓库: my-orgname/my-repo-name 这个仓库是私有的

my-orgname/my-repo-namerepo 中的代码包含一个 NPM 模块。

项目中的 package.json

.npmrc 在项目文件夹中 registry=https://npm.pkg.github.com/my-orgname

~/.npmrc 文件

从项目文件夹中.. npm publish

结果是

0 投票
0 回答
33 浏览

github-actions - 从 GH 操作中,您如何从同一组织中的另一个私有仓库中提取 NPM 模块?

从 GH 操作中,您如何从同一组织中的另一个私有仓库中提取 NPM 模块?

  1. 我知道 GITHUB_TOKEN 仅限于运行该操作的存储库。
  2. 我读过使用 PAT 代替

好的,但你实际上是怎么做的?

步骤是什么。它去哪儿了?

到目前为止我所做的事情..

失败

失败

失败

失败

我认为这是一个非常常见的用例,我很惊讶发现它是如此神秘。

0 投票
3 回答
1352 浏览

maven - 如何从 Maven 项目中引用公共 GitHub 包

我有一个 GitHub 存储库,其中包含一个发布到其自己的 GitHub 包 maven 存储库的库。而且我还有另一个项目,我想将此库作为依赖项引用。

当我将以下配置添加到项目的 POM 文件中时,它不起作用。

它需要我进行身份验证。我知道这是非常合乎逻辑的,因为它基本上不是源代码库,而是底层的 Maven 代码库。但是有没有办法让 maven 正常访问这个依赖项?我的图书馆在公共回购中。

PS 请不要建议使用 Jitpack,因为我想在没有任何额外资源的情况下获得干净的解决方案。

0 投票
0 回答
130 浏览

scala - 如何将 GitHub Packages 解析器添加到 Ammonite 脚本?

有谁知道如何将 GitHub Packages 解析器添加到 Ammonite 脚本?

我很习惯将 GitHub Packages 与 sbt 一起使用,但我们使用sbt-github-packages插件,这使得将 GitHub Packages 解析器添加到 build.sbt 文件变得非常容易。例如,在 build.sbt 中,我只包括:

由于我不能将sbt-github-packages插件与 Ammonite 一起使用,因此我确信 Ammonite 的答案要复杂得多。

使用该sbt-github-packages插件进行身份验证时,我将我的 GitHub 令牌放在名为 GITHUB_TOKEN 的环境变量中,并且 Ammonite 解决方案还必须执行正确的身份验证。

0 投票
2 回答
2215 浏览

maven - 如何在 Github Actions 工作流中从 Github 包访问 Maven 依赖项?

我的构建通过直接在pom.xml <repository>元素上使用 User + PAT(个人访问令牌)在本地工作:

从github下载:https://[USER]:[PAT]@maven.pkg.github.com/myaccount/myrepo/org/springframework/flex/spring-flex-core/1.6.1.BUILD-SNAPSHOT/maven- metadata.xml(796 B,592 B/s)

我没有settings.xml配置。

但是,它在 Github Actions 工作流程上有所突破:

警告:无法将元数据 org.springframework.flex:spring-flex-core:1.6.1.BUILD-SNAPSHOT/maven-metadata.xml 从/到 github (***maven.pkg.github.com/myaccount/myrepo ): https://maven.pkg.github.com/myaccount/myrepo/org/springframework/flex/spring-flex-core/1.6.1.BUILD-SNAPSHOT/maven-metadata.xml 401 未经授权的身份验证失败

无法在 org.springframework.flex:spring-flex-core:jar:1.6.1.BUILD-SNAPSHOT 收集依赖项:无法读取 org.springframework.flex:spring-flex-core:jar:1.6.1 的工件描述符.BUILD-SNAPSHOT

我的工作流程是这样的:

为什么它会在 Github 工作流程上中断?

0 投票
1 回答
2449 浏览

.net - 如何使用 Visual Studio 2019 设置私有 Nuget 包注册表?

我正在尝试通过 NuGet 包管理器在 Visual Studio 2019 中提供一个 .NET Framework v4.5.2 包,该包来自 Github 的私有 NuGet 包注册表系统。

我正在使用的重要东西:

  • .NET 框架 4.5.2
  • Github 操作
  • Github
  • Github 包注册表 (GPR)
  • Visual Studio 2019/NuGet 包管理器

我的目标是什么?

整个生命周期看起来有点像这样:

  1. 我的项目的 repo 有一个 CI 工作(Github 品牌) to msbuild& publish nupkg。它将所有内容打包并将其部署到https://nuget.pkg.github.com/ <my-private-org>。
  2. 在 Visual Studio 2019 中,在给定项目破解打开的情况下,用户应该能够引用https://nuget.pkg.github.com/ <my-private-org> 作为自定义 NuGet 提要,并声明“我的项目”作为依赖。

什么有效,什么无效?

当我尝试GET https://nuget.pkg.github.com/<my-private-organization>/query?q=&skip=0&take=26&prerelease=true&supportedFramework=.NETFramework,Version=v4.7&semVerLevel=2.0.0'在浏览器中运行相同的查询(

我肯定有一个GITHUB_TOKENwith read:packageperms——在我的 CI 工作中,我首先用它来生成包。

我很怀疑...

我需要将我的read:package凭证GITHUB_TOKEN作为额外的 auth-credentials 传递,但我不知道是否/如何在nuget.config. 这导致我们...

我的配置是什么?

我读到我需要%APPDATA%/NuGet/nuget.config使用一些额外的凭据信息来参数化我,这些信息是从这里获得的:https ://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#packagesourcecredentials 。我可以确认我正在更新正确的nuget.config文件——我已经能够在 Visual Studio 中使用我正在触摸的文件更改包流名称。现在看起来有点像:

中指定的用户名和密码packageSourceCredentials与我在浏览器中进行的手动GET查询中使用的相同(在 401 中失败)。

欢迎所有想法,即使是“没有人做A”。

0 投票
1 回答
564 浏览

azure-web-app-service - 如何将 docker 镜像从 Github 包注册表部署到 Azure Web Apps

我有关于 Docker Image 的 Github 包注册表。我想将它部署到 Azure Web Apps。我尝试这样的设置,

  1. 服务器网址:https ://docker.pkg.github.com
  2. 完整图像名称和标签:berviantoleo/my-telegram-bot/my-telegram-bot:latest

我没有填写用户名和密码,因为它是公共 docker 镜像。我也已经尝试带上用户名和密码,但没有运气,仍然无法拉动。

我从日志中看到,它有这样的日志:

这很奇怪,因为我已经更改了服务器 URL,是服务器 URL 只支持 Docker Hub 吗?我需要这方面的帮助。我已经从 Dockerhub 尝试过了,是的,它可以部署。但现在,我想从 Github Packages Registry 尝试一下。

更新:

  • 我弄错了,全名应该是:docker.pkg.github.com/berviantoleo/my-telegram-bot/my-telegram-bot:latest需要包括docker.pkg.github.com

  • 当更改为私有仓库并提供用户名和密码时,它可以拉取镜像。

  • 公共存储库时,它仍然需要用户名和密码,可能是因为我对包有误解。我认为docker.pkg.github.com仍然需要进行身份验证。我得到这个日志:

  • 我仍然需要找到不需要用户名和密码的解决方案。

0 投票
2 回答
1345 浏览

github-actions - 如何从 Github 包注册表下载特定发行版本的 JAR

目标

我想要两个存储库:

  • 存储库 A:将 JAR 发布到 Github Registry

  • 存储库 B:从 A 下载 JAR 并发布包含该 JAR 的 Docker 映像。


即我正在寻找一个看起来像这样的 API:

问题

是否有 Github 操作或 API 允许我从 Github 包注册表下载特定版本的工件?

问题

我知道工件有一个Github API,但我看不到如何请求特定版本的工件 URL 。