问题标签 [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 回答
3327 浏览

github - 无法在 Github 注册表中安装 npm 包

我已将一个包发布到 GitHub npm 注册表。根据下面的屏幕截图,我可以在登录 GitHub 时看到该包。

截图 1 在此处输入图像描述

截图 2 在此处输入图像描述

在本地,不同的包将前者作为依赖项。因此我有我的package.json

根据文档,我还有一个与 authToken.npmrc位于同一目录中的文件。package.json此 authToken 具有所有必要的权限 ( delete:packages, read:packages, repo, write:packages)

最后,我有package.json以下两个条目。虽然我相信这些对于将包发布到 github 注册表是必要的,但不安装它们是当前的问题。

因此,当我尝试安装软件包时遇到的错误是:

当我试图了解一些有用的日志发生了什么时:使用npm install @<scope>/<package_name>@1.2.0 --loglevels verbose,我看到:

第一个 http 请求是成功的,这似乎表明事情已正确连接和验证。但是,我不知道为什么之后我会收到 404。正如我们在上图中看到的那样,包裹显然在那里。

有没有人有类似的问题?

0 投票
3 回答
1231 浏览

java - 如何使用命令行将 Maven 工件上传到 Github 包?

我正在尝试将尚未构建的 Maven 工件上传到我的组织的 GitHub 包注册表。为此,我正在使用 deploy:deploy-file Maven 插件。这是我一直在使用的命令:

结果我收到了来自 Github 的 401 错误。我已经确定:

  • 我在我的组织(当前所有者)内部拥有足够的权限。
  • 我使用的令牌是有效的并且具有适当的范围:我将它们全部用于测试。

此外,github 包页面指出:

为什么我在 Maven 文档中找不到有关注册表或令牌参数的任何信息?我可以在没有任何 XML 配置文件的情况下仅使用 cli 将此文件上传到组织的注册表吗?

提前致谢。

0 投票
4 回答
8059 浏览

github-package-registry - 如何从 Github 包注册表中删除/删除/取消链接/取消版本包

问题:如何让一个包从 Github 包注册表中“消失”?

  • 文档说:当所有版本都被删除时,你不能“删除”但一个包“消失”。

背景:

  • Gradle 发布任务中的拼写错误导致发布了不应发布的包。

到目前为止的步骤:

  • 我在 Github Web App 上没有找到“删除”选项。
  • 我尝试通过 Github 的 GraphQL API 删除,但我需要此命令的包 ID:
  • 我在 Github Web App 上没有找到完整的 packageVersionId。
  • 我尝试在 API 中查询包 ID,但未能形成有效的查询:
  • 我尝试使用 GraphQL API Explorer,但自动设置的令牌错过了足够的权限:
  • 我没有在 Explorer Web App 上找到设置另一个访问令牌的选项。

所需的解决方案

  • 我想知道是否有更简单的方法可以做到这一点,如果没有,如何获取取消链接包所需的 packageVersionIds 以便它们消失。

更新 1:它是关于发布到公共存储库的包。

0 投票
2 回答
2504 浏览

github - 在 CircleCI 中安装 GitHub 包

对于我的项目,我正在尝试从 GitHub Packages 安装(而不是发布!)一个 npm 包。它托管在一个私有存储库中,该存储库位于一个组织中。我已经制作了一个个人访问令牌,具有从该 repo 和 org 读取所需的权限。所有这些都通过以下步骤在本地工作:

  • .npmrc文件中设置注册表:registry=https://npm.pkg.github.com/OWNER
  • 终端登录:npm login --registry=https://npm.pkg.github.com 然后会提示:
  • Username是你的标准 github 用户名
  • Token是使用正确权限创建的个人访问令牌
  • Email可以是随机的

填写完毕后,一切正常,我可以安装包,以及托管在正常 npm 注册表上的所有其他包。现在解决问题:我试图在 circleCI 上复制相同的内容,但它似乎不允许我覆盖 npm 注册表。该项目包含一个.npmrc文件,位于该文件夹中package.json。以下是圈子 ci conf 的一部分:

GITHUB_PACKAGES只是一个存储在 circleCI 中的环境变量。

现在错误消息告诉我以下内容:

我尝试用谷歌搜索它,但没有任何效果。

0 投票
0 回答
586 浏览

maven - GitHub Packages 404 for maven-metadata.xml / 是否支持动态版本解析?

有没有人设法让 Maven 动态版本解析与 GitHub 包一起使用?

我希望能够使用动态版本声明依赖项并解决它,如下所示:

在幕后,Gradle(我假设也是 Maven)使用一个名为的文件中的信息,该文件maven-metadata.xml包含存储库中存在哪些包和版本的详细信息,以将动态版本解析为特定版本(例如1.+,可能解析为1.1.2. 但是,当我发布到 GitHub Packages 时,Gradle 日志显示maven-metadata.xml文件资源不存在,因此它会毫无错误地上传一个新资源。但是,当我尝试卷曲该文件时,我得到一个 404(这意味着我正在发布并且 GitHub 正在默默地删除该文件,或者该文件在 GitHub 中并且在发布后对我不可见)。

这给出了 404(当它应该解析为文件或给我一个重定向时,我可以-L在命令上加上一个标志curl):

这是我用于依赖解析的存储库配置关闭;我使用一个相同的插件来使用闭包maven-publish内的插件进行发布。publishing{}

0 投票
1 回答
490 浏览

github - 如何在 circleCI 配置中添加 GitHub 身份验证信息以进行包发布?

我在我的仓库中为 CircleCI 设置了 config.yml 文件,以便将其发布为 GitHub NPM 包。

在运行 npm publish 命令之前,我们需要使用用户名、密码(个人访问令牌)和电子邮件在 GitHub NPM 注册表上进行身份验证。

我已将它们存储为环境变量,并且可以使用 ${PACKAGE_PAT}、${PACKAGE_ACCOUNT} 和 ${PACKAGE_EMAIL} 调用它们。

所以现在我对如何在这个过程中添加这些信息有 0 条线索,我真的很感激一些帮助(第一次使用 CI)。

这是我到目前为止设置的配置文件:

0 投票
5 回答
1787 浏览

maven - 如何在部署期间查看 Maven 向服务器发送的内容?

我正在尝试使用 Github 的新 Actions CI 服务器将包部署到 Github 的新包功能。进展不顺利。

我认为一切都设置正确,但我收到此错误:

这似乎是在成功上传同一个 pom之后发生的:

因此,在我看来,它正在成功上传 pom,但几秒钟后却无法下载相同的 pom。

我正在使用调试开关运行部署:mvn -X -e deploy,但我看不到 Maven 发送到服务器的确切 http 命令。

我该如何调试?是否有一些 Maven/Aether 传输或可以记录幕后发生的事情的东西?

0 投票
1 回答
403 浏览

javascript - 为 npm 注销 GitHub Packages

我正在构建一个使用私有 GitHub 包的项目。我一直在本地使用npm login --registry=https://npm.pkg.github.com它,事后看来,这并不是最聪明的事情,因为我实际上需要在生产环境中使用它。为此,我使用 netlify,不幸的是,401 Unauthorized每当我尝试部署它时它都会抛出。

现在,问题是我在本地机器上调试它非常困难,因为出于某种未知原因,尽管运行npm logout --registry=https://npm.pkg.github.com. 尝试再次运行注销我得到npm ERR! Not logged in to- 但我仍然可以下载包。

我的.npmrc文件中没有身份验证令牌。它怎么还在工作?我该怎么做才能回到未经授权的状态?

0 投票
1 回答
594 浏览

curl - Github Package Registry 如何删除一个版本

我已在此处阅读有关如何删除版本的说明:https ://help.github.com/en/github/managing-packages-with-github-packages/deleting-a-package

当我尝试使用 curl 时,它只是给了我这个错误:

这是我的卷曲:

我错过了什么吗?我怎样才能正确地验证自己?

0 投票
3 回答
6553 浏览

github - 作为组织的一部分为 monorepo 发布 Github 包

我在 Github Enterprise 上有一个 Lerna monorepo,它目前有两个 npm 包,我正试图将它们发布到同一个 repo 下的 Github 包注册表。

作为参考,它们是:

  • github.com/mycompany/package-a
  • github.com/mycompany/package-b

我按照以下说明操作:https ://help.github.com/en/github/managing-packages-with-github-packages/configuring-npm-for-use-with-github-packages#publishing-multiple-packages-to -相同的存储库

所以现在我的 2 个 package.json 文件如下所示(为格式化目的而修剪):

因此,您会注意到它们都具有与推荐的存储库相同的 URL。

第一个问题:一个是我的公司已经有repos调用package-apackage-b. 似乎您不能与 monorepo 中的包和 monorepo 之外的包发生命名冲突。¹

第二个也是更重要的问题: 这似乎根本不适合我。我在他们各自的package.json文件中重命名了包以避免命名冲突package-a-monopackage-b-mono我真的不想这样做,但我只是想让它工作。尝试在存储库本身lerna publishnpm publish内部运行时得到 404。就像它实际上并没有尝试读取该repository.url字段,因为它告诉您进行修改。

^ 这被证明是暂时的,或者实际上从来都不是问题,只是因为命名冲突。

npm 发布输出:

lerna 发布输出:

有没有人遇到这个并找到解决方案?

¹更糟糕的是,由于某种原因,我第一次运行它时,它实际上确实将一个包发布到了package-a. 但从那时起,我收到错误lerna ERR! E422 Package "package-a" is already associated with another repository.Nothing changed,我无法将另一个版本发布到同一个repo。