brew安装指定版本的软件

摘要:
由于在学习thrift的过程中,希望安装0.9.3版本的thrift,但是默认brewinstallthrift安装的是0.10.0版本,所以就查看了下brewinstall是如何进行安装的。所以,不同版本的thrift.rb中应该是包含对应版本的软件源url和sha256的。path=/thrift/0.9.3/thrift-0.9.3.tar.gz"sha256"b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e"可以看到,此时的版本正是需要的,接下来执行brew安装命令进行安装0.9.3版本:#这里直接指定了rb文件,自己尝试了下,发现果然OKbrewinstall./Formula/thrift.rb大功告成!
  • 原文:https://www.jianshu.com/p/aadb54eac0a8
  • 在mac中使用 brew install 安装的软件默认都是最新版本的。有时候我们需要旧版本(指定版本)的时候,应该怎么做呢?
  • 由于在学习 thrift 的过程中,希望安装 0.9.3 版本的 thrift ,但是默认 brew install thrift 安装的是 0.10.0 版本,所以就查看了下 brew install 是如何进行安装的。

安装源


  • 其实安装主要应该是先找到对应的软件安装源,以前没有认真看 brew 是如何找这个源的,今天使用命令 brew info thrift 看了下,发现是有一个 From 的:
$> brew info thrift
thrift: stable 0.10.0 (bottled), HEAD
Framework for scalable cross-language services development
https://thrift.apache.org/
/usr/local/Cellar/thrift/0.9.3 (95 files, 5.7M) *
  Poured from bottle on 2017-02-08 at 19:52:24
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/thrift.rb
==> Dependencies
Build: bison ✔
Required: boost ✔, openssl ✔
Optional: libevent ✘
==> Requirements
Optional: python ✔
==> Options
--with-erlang
    Install Erlang binding
--with-haskell
    Install Haskell binding
--with-java
    Install Java binding
--with-libevent
    Install nonblocking server libraries
--with-perl
    Install Perl binding
--with-php
    Install PHP binding
--with-python
    Build with python support
--HEAD
    Install HEAD version
==> Caveats
To install Ruby binding:
  gem install thrift

To install PHP extension for e.g. PHP 5.5:
  brew install homebrew/php/php55-thrift
  • 可以看到,我这里是已经安装好的,第一行显示了 brew 使用的 bottled 里的 thrift0.10.0 版本!而我安装的为 0.9.3 版本,在第4行中有路径。第6行显示了 From !这个很重要。
  • 在我没安装之前,我查找到了这个 From ,然后在浏览器中打开了 https://github.com/Homebrew/homebrew-core。并找到对应的文件:Formula/thrift.rb ,发现这里其实是一个 ruby文件,打开后看到了下面主要的信息:
url "https://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.tar.gz"
sha256 "2289d02de6e8db04cbbabb921aeb62bfe3098c4c83f36eec6c31194301efa10b"
  • 看到这基本知道了软件安装源的相关信息了。所以,不同版本的 thrift.rb 中应该是包含对应版本的软件源 urlsha256 的。接下来查看 thrift.rb 文件修改历史,提示太多,所以简单粗暴的直接将 homebrew-core 整个仓库 git clone 了下来:
git clone git@github.com:Homebrew/homebrew-core.git
  • 有了本地clone的仓库,直接查看对应 0.9.3 版本的 thrift.rb 文件log:
git log ./Formula/thrift.rb | less
  • 找到后搜索 0.9.3 就可以定位到对应的 commit,然后获取到 commmit : 9d524e4。接下来切换到对应的 commit :
git checkout 9d524e4
  • 查看了下 ./Formula/thrift.rb ,发现此时里面的 urlsha256 变成了如下:
url "https://www.apache.org/dyn/closer.cgi?path=/thrift/0.9.3/thrift-0.9.3.tar.gz"
sha256 "b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e"
  • 可以看到,此时的版本正是需要的,接下来执行 brew 安装命令进行安装 0.9.3 版本:
# 这里直接指定了 rb 文件,自己尝试了下,发现果然 OK
brew install ./Formula/thrift.rb
  • 大功告成!

作者:乾九二
链接:https://www.jianshu.com/p/aadb54eac0a8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

免责声明:文章转载自《brew安装指定版本的软件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CocosCreator Shader笔记 (TheBookOfShader、渐变色、攻击闪白特效)项目版本与分支管理之阿里AoneFlow模式分析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用homebrew安装mysql

2.使用homebrew安装mysql及遇到的问题 安装命令 brew install mysql 安装完成之后,本地命令行输入mysql命令,发现无此命令 commond not found 首先,检查是否是安装了 重新执行一遍 brew install mysql 命令行提示: Warning: mysql-5.7.10 already in...

【转】brew 更新问题

为什么要定期更新 我发现不少人都不会经常更新,或者只在必须用某个工具的新版本的时候才更新。他们的看法是,更新有可能产生一些意外的问题,反正当前环境足够稳定可以用,干嘛自找麻烦呢? 这个看法对也不对。对是因为,更新产生的潜在问题不可避免。不对是因为总有一天你需要升级的,也许是为了某个工具的新特性,也许是为了修复软件的漏洞,也许你安装的包非要依赖另一个包的新版...

RobotFramework测试框架创建远程库Remote,并实现调用Ruby关键字接口

RobotFramework测试框架调用Ruby用户数据准备接口    一、安装RF Remote远程控制gem包 robot_remote_server 二、创建远程Library服务 在ruby环境完整的机器的上创建remote_library.rb文件,内容如下:   然后 ruby remote_library.rb 运行脚本; 远程robot服...

mac 命令行大杂烩

一、实用的 1、代替 cat 的工具:bat,支持语法高亮、同时显示行号,使用: bat xx.yyy 安装:brew install bat 2、man 命令的替代品:tldr 安装:brew install tldr 二、好玩的 1、命令行显示动态的火焰,运行: aafire 安装: brew install aalib 2、命令行显示黑客帝国数字雨,...

Homebrew 安装与配置 || 换源、卸载、常用命令、brew cask

文章目录Homebrew 安装与常用命令1.安装Homebrew2.更换Homebrew本身的源3.更换brew Formula 的源4.Homebrew常用命令5.Homebrew-Cask(桶--图形界面软件) 安装与常用命令6.Homebrew-Cask 常用命令7.卸载Homebrew1.安装Homebrew/usr/bin/ruby -e "$(...

CentOS安装thrift

下载thrift依赖的东西  yum -y install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel crypto-utils openssl openssl-devel 下载最新...