我刚刚重新安装了我的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
这样的东西,但没有成功。
答案 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.0和ghc 7.10.3)。要安装旧瓶子,请检查旧配方,将旧瓶子复制到~/Library/Caches/Homebrew/
并安装:
HOMEBREW_NO_AUTO_UPDATE=1 brew install bottle_name
选项3)构建您自己的复古公式
另一种选择是为您想要的版本重写当前的pandoc公式。
<强>结论强>
这些选项中的每一种都是可能的方式,但它们都不容易。没有简单的方法来安装旧版本的Pandoc和Homebrew。您应该使用Haskell版本管理器,例如Stack。