HomeBrew安装历史版本依赖库(formula)-4.0以后版本通用(以brew安装fplll5.4.2为例)

使用brew install安装依赖时,免不了需要安装一些历史版本依赖,在老版本中通常可以找到历史的tb文件直接brew install进行安装,新版禁止了这种做法,提供了更好的办法,本文分享一下如何HomeBrew安装历史版本依赖库。


文章目录

  • 概述
  • 历史做法(已舍弃,老版本可以这么用)
  • 新版方法


概述

这里以fplll为例,默认使用brew install fplll安装时,下载的是5.4.5版本(截止2024年1月18日),但是有部分项目使用的是老版本的fplll库,和新版存在一些不兼容的问题。

而使用brew info fplll查看时,可以发现,只有5.4.5版本能安装,这个时候我们需要一些办法来安装历史版本。

atfwus@xxxMacBook-Pro ~ % brew info fplll  
==> fplll: stable 5.4.5 (bottled)
Lattice algorithms using floating-point arithmetic
https://github.com/fplll/fplll
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/fplll.rb
License: LGPL-2.1-or-later
==> Dependencies
Build: automake ✔
Required: gmp ✔, mpfr ✔
==> Analytics
install: 45 (30 days), 169 (90 days), 457 (365 days)
install-on-request: 40 (30 days), 145 (90 days), 394 (365 days)
build-error: 0 (30 days)

历史做法(已舍弃,老版本可以这么用)

老版本(具体多老就没有去查证了,反正4.0以上都不可以这么用,如果觉得版本比较老,可以尝试婴一下)的做法是:

  • 1.去https://github.com/Homebrew/homebrew-core/blob/master/Formula 下找到对应库的rb文件。也可以直接搜,例如fplll.rb
  • 2.查看该文件的历史commit。
  • 3.找到指定版本的commit,获取链接。
  • 4.brew install url,这里url就是上面获取的链接。

例如,我要安装fplll的5.4.2版本,先找到rb文件:
HomeBrew安装历史版本依赖库(formula)-4.0以后版本通用(以brew安装fplll5.4.2为例)_第1张图片
查看历史commit,找到5.4.2的commit:
HomeBrew安装历史版本依赖库(formula)-4.0以后版本通用(以brew安装fplll5.4.2为例)_第2张图片
进入,获得commit的url:https://raw.githubusercontent.com/Homebrew/homebrew-core/33f7372ec9f285fe786c4de17a258e0758158485/Formula/fplll.rb
HomeBrew安装历史版本依赖库(formula)-4.0以后版本通用(以brew安装fplll5.4.2为例)_第3张图片

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/33f7372ec9f285fe786c4de17a258e0758158485/Formula/fplll.rb

如果是老版本,就已经安装成功了,新版本的话,会出现如下报错:

Error: Installation of fplll from a GitHub commit URL is unsupported! `brew extract fplll` to a stable tap on GitHub instead.

新版方法

新版是使用brew tap-newbrew extract来实现安装历史版本。方法如下:

  • 1.创建本地的 formula 文件
  • 2.创建某个历史版本的副本
  • 3.安装指定版本

创建本地的 formula 文件:

brew tap-new $USER/local-fplll

创建某个历史版本的副本:

brew extract --version=5.4.2 fplll $USER/local-fplll

这个时候我们就可以看到这个版本了:

atfwus@xxxMacBook-Pro ~ % brew search fplll
==> Formulae
atfwus/local-fplll/[email protected] ✔         fplll

安装指定版本:

brew install $USER/local-fplll/[email protected]

这样就成功的安装了fplll5.4.2的版本。


ATFWUS 2024-01-18

你可能感兴趣的:(工具与开发环境问题,homebrew,brew,install,fplll,mac安装历史版本)