homebrew 安装指定版本gradle(软件)

在 mac OS 中使用 brew install 默认安装的软件都是最新版本的。有的时候我们需要安装指定版本,应该怎么做呢?
下面以 Gradle 为例演示一下安装过程以及版本切换的方法。

安装源

第一步,查看软件的信息

使用命令 brew info gradle 输出内容如下:


gradle: stable 4.9
Build system based on the Groovy language
https://www.gradle.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gradle.rb
==> Requirements
Required: java >= 1.7 ✔
==> Options
--with-all
    Installs Javadoc, examples, and source in addition to the binaries


homebrew 安装指定版本gradle(软件)_第1张图片
信息

可以看到,我这里是已经安装了 gradle 4.9 版本,第一行显示了 brew 使用的 bottled 里的 gradle 为 4.9 版本,在第 4 行中有路径。而现在需要安装的版本为 4.1。


第二步,修改安装源信息

查看文件sha256

 openssl dgst -sha256 /Users/admin/Downloads/gradle-4.1-all.zip 

我们将第 5 行显示的 From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gradle.rb 文件下载到本地,然后编辑文件


class Gradle < Formula
  desc "Build system based on the Groovy language"
  homepage "https://www.gradle.org/"
  url "https://services.gradle.org/distributions/gradle-4.1-all.zip"
  sha256 "5c07b3bac2209fbc98fb1fdf6fd831f72429cdf8c503807404eae03d8c8099e5"

  bottle :unneeded

  option "with-all", "Installs Javadoc, examples, and source in addition to the binaries"

  depends_on :java => "1.7+"

  def install
    rm_f Dir["bin/*.bat"]
    libexec.install %w[bin lib]
    libexec.install %w[docs media samples src] if build.with? "all"
    (bin/"gradle").write_env_script libexec/"bin/gradle", Language::Java.overridable_java_home_env
  end

  test do
    assert_match version.to_s, shell_output("#{bin}/gradle --version")
  end
end


我们修改第4行 url 和第5行 sha256,将这两个关键信息修改,即可安装指定版本。可以从 https://gradle.org/releases/ 网站查询到 gradle v4.1 的相关信息,修改成如上内容并保存

其实这里的 url 可以改成任意地址,只要能下载到指定的 zip 文件即可。比如使用墙内的或本地的 gradle-3.5.1-all.zip 下载地址等等


第三步,使用修改过的安装源安装

然后我们执行安装命令 brew install ~/Downloads/gradle.rb,这里指定的 ruby 文件是我们修改后的文件路径,如果安装提示如下错误:

Error: gradle 4.9 is already installed
To install 4.1, first run `brew unlink gradle`

只需安装提示执行brew unlink gradle,然后再次执行安装命令brew install ~/Downloads/gradle.rb即可。

安装成功后执行命令gradle -v查看当前生效的版本

软件版本切换

查看软件信息

执行命令brew info gradle可以查看已安装的信息

/usr/local/Cellar/gradle/4.1 (169 files, 71.7MB) *
/usr/local/Cellar/gradle/4.9 (377 files, 249.7MB)

切换版本

如果我们需要切换成 4.1 的话,我们就使用

brew switch gradle 4.1 

命令,然后执行gradle -v查看当前生效的版本信息

你可能感兴趣的:(homebrew 安装指定版本gradle(软件))