使用自制程序

时间:2018-01-24 19:42:07

标签: homebrew pandoc

我刚刚重新安装了我的macOS。使用brew install pandoc我安装了Pandoc,并且安装了v2,这导致我对Web应用程序的一些回归测试失败。

由于我在服务器(1.16.0.2)上运行旧版本,我想在我的计算机上安装此版本。

但遗憾的是,我似乎无法用自制软件做到这一点,因为似乎没有可用的遗留版本,只有最新版本? brew search命令不显示任何版本:

$ brew search pandoc
==> Searching local taps...
pandoc ✔                                                pandoc-citeproc                                         pandoc-crossref
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...

我试过像brew install pandoc@1.16.0.2这样的东西,但没有成功。

1 个答案:

答案 0 :(得分:6)

选项1)使用旧公式

您可以使用git历史记录获取pandoc 1.16.0.2的公式。

转到存储公式的本地目录:

cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula

查看pandoc的历史

git log pandoc.rb

似乎最后一次提交版本1.16.0.2是提交53d113c339280e6bc43325afd24333

1)为了确保在正确的版本中获取所有依赖项,您必须在此提交中签出所有公式(您还可以仅签出依赖关系图)。

git checkout 53d113c339

2)公式cabal-install使用旧的自制结构将其删除:

brew edit cabal-install

并移除瓶子部分。

3)默认情况下,自制软件在安装之前进行更新,因此您必须指定在安装之前不更新:

HOMEBREW_NO_AUTO_UPDATE=1 brew install pandoc

这需要很长时间,因为你必须编译所有东西,最后版本的macOS(Sierra和High Sierra)没有瓶子。根据您的macOS版本,您可能会遇到一些编译问题......

选项2)使用旧瓶

OS X Mavericks(10.9),OS X Yosemite(10.10)和OS X El Capitan(10.11)有available bottles。您可以手动安装它们,但您还需要使用正确的版本安装依赖项(cabal-install 1.22.6.0ghc 7.10.3)。要安装旧瓶子,请检查旧配方,将旧瓶子复制到~/Library/Caches/Homebrew/并安装:

HOMEBREW_NO_AUTO_UPDATE=1 brew install bottle_name

选项3)构建您自己的复古公式

另一种选择是为您想要的版本重写当前的pandoc公式。

<强>结论

这些选项中的每一种都是可能的方式,但它们都不容易。没有简单的方法来安装旧版本的Pandoc和Homebrew。您应该使用Haskell版本管理器,例如Stack