How to install/upgrade fomula from local dmg file

缘起

brew 升级 Joplin 的时候,由于大陆从 github 下载软件包太慢,所以几乎每次都无法完整下载软件包而 timeout 退出。

于是就找了个 github 的代理手工下载(二进制)软件包,然后想通过 brew 直接用本地的 .dmg 文件来升级。

这里的难点,也是本文要谈的问题,就是如何让 brew 直接使用本地下载好的 .dmg 文件升级 Joplin(其他软件也一样)而不是从网上(github)下载。

具体方法

执行命令:

1
brew upgrade Joplin

当开始下载 Joplin 的时候,Ctrl+C 终止掉。然后进入目录:

1
2
3
cd $(brew --cache)/downloads/
# 找出最新的一个下载的文件,可以考虑用如下命令:
ls -lt | grep -v total | head -n 1

这里会看到一个文件名,就我这里的具体情况来说是:

83b470164a0a78f6edefacb829dccc523bc774224c0aa9b2814fa16f719fb65e–Joplin-1.7.11.dmg.incomplete

然后把手工下载好的 Joplin 的 dmg 文件(我这里是 ~/Downloads/Joplin-1.7.11.dmg)拷贝过来,并重命名成需要的文件名。

1
2
3
cp ~/Downloads/Joplin-1.7.11.dmg \
83b470164a0a78f6edefacb829dccc523bc774224c0aa9b2814fa16f719fb65e--Joplin-1.7.11.dmg
# 注意:上面的目标文件名是上一步看到的文件名去掉 .incomplete

最后,就可以直接安装更新了。

1
brew upgrade Joplin