#1 - 2023-3-29 20:45
nusfb
包括桌面和移动平台,现在的流程是每次打开软件提示更新,然后到 GitHub 上下载,
Android 等下载完安装,Linux/Windows 还要加上删除之前的版本然后解压(一般是便携版软件),有些麻烦。
有没有比较方便的方式进行更新,比如类似包管理器那样,定时检测所有从 GitHub 下载的软件,一键下载并更新,打开就直接能用最新的版本😇😇😇
#2 - 2023-3-29 20:55
win下就scoop自己写bucket
#2-1 - 2023-3-29 21:19
nusfb
有没有将 GitHub 视为一个仓库源的软件,这样就不需要手动适配添加了,最好再支持不同平台(
#2-2 - 2023-3-29 23:04
bangumi大西王
nusfb 说: 有没有将 GitHub 视为一个仓库源的软件,这样就不需要手动适配添加了,最好再支持不同平台(
没有,release就有可能有一百种文件名的命名方法。
#2-3 - 2023-3-29 23:24
nusfb
Trim21 说: 没有,release就有可能有一百种文件名的命名方法。
这个简单,检测到更新后让我手动确认下选择是否正确,或者 GitHub 弄个指定 release 对应的系统和架构的API(
#2-4 - 2023-3-29 23:27
bangumi大西王
nusfb 说: 这个简单,检测到更新后让我手动确认下选择是否正确,或者 GitHub 弄个指定 release 对应的系统和架构的API(
那就是scoop,能对应版本的release里的文件...
#2-5 - 2023-3-29 23:32
nusfb
Trim21 说: 那就是scoop,能对应版本的release里的文件...
在折腾了,不过我日常主要用 Linux 和 Android(
#2-6 - 2023-3-30 00:40
Alpha Centauri
nusfb 说: 有没有将 GitHub 视为一个仓库源的软件,这样就不需要手动适配添加了,最好再支持不同平台(
AUR就是人肉维护,你可以考虑换ARCH或者GENTOO,仓库没有就自己写
#2-7 - 2023-3-30 01:02
nusfb
Alpha Centauri 说: 你这就是AUR的做法,AUR就是人肉维护,你可以考虑换ARCH或者GENTOO,仓库没有就自己写AUR/OVERLAY就好了
我使用的发行版是 Manjaro,不过在用的一些软件没上 AUR,比如 JHenTai,我只是一个低级用户,没有制作过软件包,而且维护软件包似乎违背了我图省事的初衷(
#3 - 2023-3-29 21:01
winget
#3-1 - 2023-3-29 21:24
nusfb
我是想更新从 GitHub 上下载的软件,winget 上应该只有少部分有吧?
#4 - 2023-3-29 22:11
听起来是个简单的需求,但是包管理器最少需要一个索引(有哪些包)和一些元数据(哪个平台用哪个文件,安装方式...),除非这些都由每个用户自己手动添加自己要用的仓库
所以还是 winget
#4-1 - 2023-3-29 22:28
nusfb
GitHub 上的软件 winget 应该只有少部分有吧?而且是 Windows 专用的。
我是觉得 GitHub 已经是最大的软件仓库了,更新软件的需求也挺大众的,不会真的没人做这件事吧?(
#4-2 - 2023-3-29 23:16
scientificworld
nusfb 说: GitHub 上的软件 winget 应该只有少部分有吧?而且是 Windows 专用的。
我是觉得 GitHub 已经是最大的软件仓库了,更新软件的需求也挺大众的,不会真的没人做这件事吧?(
不同repo的更新方式各不相同 这个不好搞啊
#5 - 2023-3-29 22:53
(gerigerigerigeri~)
安卓有一个 F-Droid 可以部分解决这个需求
#6 - 2023-3-29 23:36
(迷子でもいい、迷子でも進め。)
#6-1 - 2023-3-30 00:16
nusfb
好好好,太好用了😭😭
Android 平台解决了,还差个 Linux(
#7 - 2023-3-30 00:42
(我只是一只孤零零的熊罢了。)
自动生成一个脚本从 github release 上下载二进制文件,https://github.com/egoist/bina
你给你想要的 repo 贡献一下让他的 release 符合这个里面的名称规范,或者加它的配置文件,就能用这个生成的脚本直接装了(

不知道 lz 有没有什么其它具体的需求,感觉可以参考这个自己实现类似的东西?

还有,更新感觉还是不自动比较好吧,更新坏了你都不知道?
#7-1 - 2023-3-30 01:42
nusfb
我悟了,写个 Python 脚本来实现貌似是最快的,已经在请教 ChatGPT 老师了😭😭
#8 - 2023-3-30 03:52
(没有人会尊敬放弃对国家的信念与责任者,无论是大或小的 ...)
(bgm36)我更好奇一些没有发行版封装的项目怎么用,看起来很复杂的样子
#9 - 2023-3-30 07:34
有个针对单个软件的yuzu tool实现了从Github release上下载二进制文件、删除旧版程序、解压,还有一定程度的版本控制,但很久没更新了
#9-1 - 2023-3-30 08:43
老年夜游星人
会有针对yuzu的更新器,怕不是因为GitHub上yuzu模拟器发版实在太频繁了(bgm38)
#10 - 2023-3-30 09:32
(迷路,迷路,还欲逆流强渡。)
用过一个叫nami的软件包管理工具,之前强调分布式去中心化,「按照特定格式(与nami相同的命名格式)进行命名的GitHub Release均可自动识别」;不过现在好像也逐渐变成官方维护一个软件包列表了。感觉release命名格式不同是个大麻烦
#11 - 2024-1-15 00:04
mark
#12 - 2024-1-15 00:06
#13 - 2024-1-15 11:27
我的解决方案是:去使用一个包管理器。
对于找不到的包,去学习打包并试着为整个包管理器的软件生态做贡献。

在维护自己的包的时候,我会使用 nvchecker 来检查 GitHub。