1.homebrew安装软件的大概原理:
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core目录是一个git仓库。brew安装软件时会在此目录下的Formula寻找对应软件的rb文件,该文件中有下载此软件的地址。
以安装gradle为例。打开Formula下的gradle.rb文件,有一行是 url "https://services.gradle.org/distributions/gradle-4.10-2l.zip",这就是gradle的下载地址。我们如果想下载旧版本的gradle,则必须将这个rb文件修改成旧版本对应的rb文件。那么如何获得旧版本的rb文件呢。
2.获取旧版本软件的rb文件
由于我本地的homebrew工具已经更换成了中科大的镜像源,所以无法在本地的/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core仓库中找到老版本rb文件。所以我将https://github.com/Homebrew/homebrew-core克隆下来了。终端进入该仓库的根目录,输入git log ./Formual/gradle.rb查看软件的提交历史,找到你所需要的版本的commitId,执行git checkout commitId(旧版本的commitId)来切换到旧版本的分支。然后在Formula目录下找到gradl.rb文件,打开这个文件会发现url对应的gradle版本已经是你所需要的版本了。将这个rb文件复制到你本地的/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula目录中。再执行brew install gradle即可下载你所需要的版本的软件。若出现
Error: gradle 4.10.2 is already installed
To install 4.1, first run `brew unlink gradle`
则执行一下brew unlink gradle命令后再执行安装命令即可。