【 Github 】 如何获取 Github 上最新的 release 文件

news/2025/1/31 5:27:38/文章来源:https://www.cnblogs.com/o-O-oO/p/18692849

前言

在 Github 上,我们经常会看到一些开源项目会发布 release,这些 release 文件通常是一些二进制文件或者压缩包,我们可以通过以下步骤获取到这些文件的最新版本。

1. 打开 Github 项目页面,查看最新的 release 版本

首先,我们需要打开 Github 项目页面,例如:https://github.com/nginx/nginx/releasesreleases

在 release 页面,我们可以看到所有的 release 版本,我们需要找到最新的版本,例如:v1.27.3

2. 获取最新的 release 版本的下载链接

根据以下命令我们可以获取到 nginx 的最新的 release 包的下载链接

curl -s https://api.github.com/repos/nginx/nginx/releases/latest | grep browser_download_url | cut -d'"' -f4

3. 下载最新的 release 文件

3.1 下载指定的 release 文件

根据以下命令,指定下载 tar.gz 结尾的文件。这个可以根据自己的需要替换成其他文件类型或者带有关键字的文件。

links=$(curl -s https://api.github.com/repos/nginx/nginx/releases/latest | grep browser_download_url | cut -d'"' -f4 |grep -E 'tar.gz$')
echo "${links}"

根据上一步获取到的下载链接,我们可以使用 wget 或者 curl 命令下载最新的 release 文件,例如:

wget ${links}

3.2 下载所有的 release 文件

获取最新的所有 release 文件,可以使用以下命令:

links=$(curl -s https://api.github.com/repos/nginx/nginx/releases/latest | grep browser_download_url | cut -d'"' -f4)

批量下载所有的 release 文件,可以使用以下命令:

for url in $links; dowget $url
done

3.3 下载名字不变的 release 文件

可以通过将 releases/latest 添加到存储库 URL 的末尾来共享指向存储库最新版本的链接。

例如,最新版本的 docker/compose URL 是 :

https:// https://github.com/docker/compose/releases/download/v2.32.1/docker-compose-linux-x86_64se/releases/download/v2.32.1/docker-compose-linux-x86_64 

若要直接链接到上传的最新版本 release 的下载,后缀为 /releases/latest/download/docker-compose-linux-x86_64。

通过以下命令,我们可以下载到最新的 release 文件:

wget https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64

可以确认下载的是最新的 release 文件:

4. 总结

通过以上步骤,我们就可以获取到 github 上最新的 release 文件。

原创 小明同学的笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/876981.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源】gocron:一款开源可视化定时任务管理系统

在数字化转型的浪潮中,定时任务管理系统作为保障业务连续性和自动化运维的重要工具,扮演着举足轻重的角色。然而,传统的Linux-crontab等工具因其复杂的配置和有限的灵活性,难以满足现代企业和开发者对高效、用户友好任务调度的需求。正是在这样的背景下,Gocron应运而生,它…

【数据库】DrawDB:超好用的,免费数据库设计工具

引言 在软件开发过程中,数据库设计是一个至关重要的环节。 无论是关系型数据库还是非关系型数据库,良好的数据库设计都能显著提升系统的性能和可维护性。 然而,数据库设计往往伴随着复杂的表结构和关系,如何清晰地表达这些设计成为了开发者们的一大挑战。 DrawDB 应运而生,…

研发的立足之本到底是啥?

0 你的问题,我知道! 本文深入T型图“竖线”的立足之本:专业技术 + 技术赋能业务能力。研发在学习投入精力最多,也误区最多。 某粉丝感发展遇到瓶颈,项目都会做,但觉无提升,想跳槽。于是,梳理过往经历。 他觉得业务小,阻其技术发展。但细问,这系统用户量百万级,一点不…

Midscene.js:重新定义UI自动化的新时代工具

前言 Midscene.js 是一个创新的、面向开发者的 UI 自动化解决方案,并通过人工智能技术简化自动化脚本的编写与维护。 它提供了三种核心方法——交互(.ai, .aiAction)、提取(.aiQuery)和断言(.aiAssert),使开发者能够以自然语言描述步骤并执行复杂的UI操作。 它不仅支持…

Ant Design X:用最少的代码快速构建 AI 聊天界面

概述 随着人工智能(AI)技术的迅猛发展,尤其是通用人工智能(AGI)的进步,人机交互的方式正在经历深刻的变革。传统的图形用户界面(GUI)逐渐被更加自然、人性化的交互模式所取代。 为了应对这一变化,Ant Design X 团队提出了一种名为 RICH 的新设计范式,并开发了一系列专…

【Java应用】 Stream 流如何助力大数据处理

如果你会任意一门语言的stream流,没道理不会大数据开发。 俗话说男追女隔座山,女追男隔层纱。 如果说零基础学大数据,感觉前面是一座山,那么只要你会java或者任意一门语言的stream流,那大数据就只隔了一层纱。 本文以java stream流计算为例,讲解一些基础的spark操作。另一…

VaultWarden:用私有密码管理器保卫自己的密码

正值春节之际, 介绍一个非常实用的工具——VaultWarden,它是一个自托管的密码管理器,非常适合需要增强隐私保护的用户。如果你与笔者一样正在寻找一个简洁且安全的方式来管理密码,VaultWarden 无疑是一个不错的选择。 现在,我们将通过 Docker 来配置 VaultWarden,使其成为…

并发编程 - 线程同步(二)

ThreadStatic实现线程本地存储,避免共享资源问题;ThreadLocal解决其缺陷;volatile关键字防止缓存和编译器优化,非完整线程同步机制。经过前面对线程同步初步了解,相信大家对线程同步已经有了整体概念,今天我们就来一起看看线程同步的具体方案。01、ThreadStatic 严格意义…

深度学习基础理论————混合专家模型(MoE)/KV-cache

1、混合专家模型(MoE) 参考HuggingFace中介绍:混合专家模型主要由两部分构成: 1、稀疏的MoE层:这些层代替了传统 Transformer 模型中的前馈网络 (FFN) 层。MoE 层包含若干“专家”(例如 8 个),每个专家本身是一个独立的神经网络。在实际应用中,这些专家通常是前馈网络 (…

gin: 使用独立的路由文件和controller文件

一,目录结构:二,代码: 1,controller/ImageController.go package controllerimport ("github.com/gin-gonic/gin""net/http" )type ImageController struct{}func NewImageController() ImageController {return ImageController{} }//得到详情 func (i…

2024年终总结——我自风中来,又往风中去

目录前言碎语事件简单记录(参考自己的朋友圈)疑为前城去连云港——小青岛,南北交,桃花源记忆点不大的一些城市……上海——夜之城北京——梦之城似是故人来技术或科研——向现实进发生活——认识我,改变我绩点——继续维稳比赛——淡化、反思音乐——重拾展望——勇敢的向…