一旦您发布了软件包并更新了存储库,但该软件包没有显示在存储库中,如下所示
将库链接到存储库的步骤
转到您在 GitHub 上的个人资料https://github.com/{your_user_name}?tab=packages。您必须看到像这里这样的软件包列表。
单击您需要链接到存储库的包。您必须获得
link to repo
或访问此链接 https://github.com/users/{your_user_name}/packages/npm/{your_package_name}/settings
选择库存储库。
您现在也可以在存储库上查看包。
软件包在 releases 中不可见,它们将在您组织的 packages 部分中可见:
https://github.com/orgs/ORGANIZATION/packages
对于个人包裹:
https://github.com/USER?tab=packages
请记住,在包的名称与存储库相同之前,包在存储库“Packages”部分下不可见。您通过此存储库操作发布它并不重要。 如果您没有具有此类名称的存储库 - GitHub 将为您创建它。
从昨天开始我就经历了同样的事情。我还没有尝试过已经发布的包,但我可以确认新的包既没有出现在组织/用户包选项卡中,也没有出现在存储库的包部分中,尽管 npm 说它们已经成功发布了。
这可能是由于包可见性所致。
在我的组织中,我们最近开始遇到一些问题,即某些软件包的新版本具有严格的读取限制。我发现这个问题的方法是这样的:
如果遇到上述问题,可以通过由具有组织管理员访问权限的人员设置包可见性级别来解决(在短期内)。
发布包时,了解将它们放在哪里非常重要。如果您将包发布到默认的 npm 注册表registry.npmjs.org,它们不会自动出现在 GitHub 存储库的 GitHub Packages 部分中。
为了让它们出现在那里,您需要将它们直接发布到 GitHub Packages。这意味着使用 GitHub 的包注册表而不是默认的包注册表。将包发布到 GitHub Packages 后,它们将在存储库的 GitHub Packages 部分中可见
作为解决方法,您可以通过 GitHub CLI 使用他们的 List Packages API:
repo
、read:org
和read:packages
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:
****************************************
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
json
将会被打印出来,拿走包裹id
: ...
{
"id": 1234567,
"name": "...",
"package_type": "...",
"owner": {
"login": "...",
...
可以添加
"repository": {
"type": "git",
"url": "git+https://github.com/<user>/<repo>.git"
},
到
package.json
。这允许包正确“映射”到存储库。