阻止 GitHub Desktop 自动更新

我的 Mac 笔记本比较老,服役已经超过了 10 年,越来越多的软件在更新后就不再支持 Big Sur 了,碰到了好几例更新后不能用的情况,有的可以设置不要自动更新,有的则无法设置,GitHub Desktop 便是其中无法设置自动更新的。

GitHub 桌面版 GitHub Desktop 使用的是 Electron 框架开发,它的自动更新机制 Squirrel 非常「顽固」,软件设置中没有提供关闭自动更新的选项。

如果当前使用的操作系统不再被新版本的 GitHub 支持,更新后就无法使用,然后就得去寻找最后一个支持的版本,重新安装,这样反反复复比较麻烦,能阻止它自动更新就不用这样反反复复了。

在 Windows 系统中,GitHub Desktop 是使用 Update.exe 「如下图」这个文件来完成更新的,把这个文件删除或者随便找一个文件改成 Update.exe 这个文件名替换掉它,这样更新就找不到这个更新程序了。

mac 中最简单的就是将 GitHub Desktop 这个应用程序锁定,这样就不会覆盖这个应用程序了。在访达中打开「应用程序」文件夹,找到 GitHub Desktop,右键点击它,在弹出菜单中选择「显示简介」,在弹出的窗口中,勾选「已锁定」即可。

Windows 系统中好像也可以通过设定为「只读+关闭执行和写入权限」来解决。

另外更新要连接更新服务器检查,可以在 Hosts 文件中修改来阻止其连接更新服务器,操作 Hosts 文件需要系统管理员身份,Windows 的 Hosts 文件在 C:\Windows\System32\drivers\etc\hosts , macOS 的 Hosts 文件在 /etc/hosts

在文件的末尾添加下面这一行:

127.0.0.1 central.github.com

这样设置后,Github Desktop 认为当前没有网络连接或没有新版本。

最后在本地的硬盘上保留一份最后支持的版本,这样有问题就不用上网再去寻找了。

整理完这份文档后,发现 Visual Studio Code 也是出现了同样的问题,这主要都集中在我的 Mac 上,太老了,好在 Visual Studio Code 在设置中有关闭自动更新的选项,终归还是电脑太老了,虽然我看了网络上有跳过 Apple 限制升级到新系统的方法,还是先不要冲动。

比较崩溃的是 Notion 没有留存老版本,结果更新后直接不能用了,我寻找了半天,最后只寻得 2.1.2 版本,我决定直接在浏览器上先凑合用一下,平常由于慢和手机上操作不太方便,现在在 Notion 上记录的内容也少了很多,就记录一下我读书的记录,实在不行先在 Windows 本上用用。


最后,我还是把经常用的软件都加了个锁,看看今年苹果新发布的本,也是时候换一个新的开始投入战斗了。