Github 包已成功发布,但未显示在“Packages”部分

问题描述 投票:0回答:7

我有一个包发布到了 Github 包存储库并且成功了,但我仍然无法在包部分看到这个包

https://i.stack.imgur.com/WV7fr.jpg

https://i.stack.imgur.com/kGOFG.png

请参考附图,可见

npm publish
成功了。 我可能会错过什么?

github github-actions github-packages
7个回答
8
投票

一旦您发布了软件包并更新了存储库,但该软件包没有显示在存储库中,如下所示

将库链接到存储库的步骤

  1. 转到您在 GitHub 上的个人资料https://github.com/{your_user_name}?tab=packages。您必须看到像这里这样的软件包列表。

  2. 单击您需要链接到存储库的包。您必须获得

    link to repo
    或访问此链接 https://github.com/users/{your_user_name}/packages/npm/{your_package_name}/settings

  3. 选择库存储库。

  4. 您现在也可以在存储库上查看包。


5
投票

软件包在 releases 中不可见,它们将在您组织的 packages 部分中可见:

https://github.com/orgs/ORGANIZATION/packages

对于个人包裹:

https://github.com/USER?tab=packages

请记住,在包的名称与存储库相同之前,包在存储库“Packages”部分下不可见。您通过此存储库操作发布它并不重要。 如果您没有具有此类名称的存储库 - GitHub 将为您创建它。


2
投票

从昨天开始我就经历了同样的事情。我还没有尝试过已经发布的包,但我可以确认新的包既没有出现在组织/用户包选项卡中,也没有出现在存储库的包部分中,尽管 npm 说它们已经成功发布了。


1
投票

这可能是由于包可见性所致。

在我的组织中,我们最近开始遇到一些问题,即某些软件包的新版本具有严格的读取限制。我发现这个问题的方法是这样的:

  1. 在我的个人帐户(或您使用包的任何范围)的上下文中,检查包中是否有您遇到问题的任何存储库/组织。在我们的例子中,我看不到报告为 CI 中成功推送的软件包的最新版本。
  2. 找具有管理员访问权限的人,最好是组织的管理员(如果存储库属于组织),让他们检查相同的内容,并比较结果。在我们的例子中,组织管理员可以看到该包的最新版本。

如果遇到上述问题,可以通过由具有组织管理员访问权限的人员设置包可见性级别来解决(在短期内)。


0
投票

发布包时,了解将它们放在哪里非常重要。如果您将包发布到默认的 npm 注册表registry.npmjs.org,它们不会自动出现在 GitHub 存储库的 GitHub Packages 部分中。

为了让它们出现在那里,您需要将它们直接发布到 GitHub Packages。这意味着使用 GitHub 的包注册表而不是默认的包注册表。将包发布到 GitHub Packages 后,它们将在存储库的 GitHub Packages 部分中可见


-1
投票

作为解决方法,您可以通过 GitHub CLI 使用他们的 List Packages API

  1. 确保拥有具有最低所需范围的经典令牌:
    repo
    read:org
    read:packages
  2. 通过打开终端并执行以下命令来使用 GitHub CLI 进行身份验证:
gh auth login

这些是我选择的选项:

What is your preferred protocol for Git operations? 
HTTPS

Authenticate Git with your GitHub credentials? 
Yes

How would you like to authenticate GitHub CLI? 
Paste an authentication token

Paste your authentication token: 
****************************************
  1. 通过身份验证后,运行以下命令:
gh api \
  -H "Accept: application/vnd.github+json" \
  "/orgs/{YOUR_ORG}/packages?package_type={TYPE}"

// Type can be one of: npm, maven, rubygems, docker, nuget, container
  1. A
    json
    将会被打印出来,拿走包裹
    id
    :
  ...
  {
    "id": 1234567,
    "name": "...",
    "package_type": "...",
    "owner": {
      "login": "...",
  ...
  1. 使用包 ID 调整链接并粘贴到您的浏览器中: https://github.com/{$ORG}/{$PROJECT}/packages/{$ID}

-2
投票

可以添加

"repository": {
  "type": "git",
  "url": "git+https://github.com/<user>/<repo>.git"
},

package.json
。这允许包正确“映射”到存储库。

© www.soinside.com 2019 - 2024. All rights reserved.