我刚刚重新安装了我的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...
Run Code Online (Sandbox Code Playgroud)
我尝试了类似的东西,brew install pandoc@1.16.0.2但没有成功.
选项1)使用旧公式
您可以使用git历史记录获取pandoc 1.16.0.2的公式.
转到存储公式的本地目录:
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
Run Code Online (Sandbox Code Playgroud)
看看pandoc的历史
git log pandoc.rb
Run Code Online (Sandbox Code Playgroud)
看起来版本1.16.0.2的最后一次提交是提交53d113c339280e6bc43325afd24333.
1)为了确保在正确的版本中获取所有依赖项,您必须在此提交中签出所有公式(您还可以仅签出依赖关系图).
git checkout 53d113c339
Run Code Online (Sandbox Code Playgroud)
2)公式cabal-install使用旧的自制结构删除它:
brew edit cabal-install
Run Code Online (Sandbox Code Playgroud)
并取下瓶子部分.
3)默认情况下,自制程序在安装之前进行更新,因此您必须在安装之前指定不更新:
HOMEBREW_NO_AUTO_UPDATE=1 brew install pandoc
Run Code Online (Sandbox Code Playgroud)
这将花费很长时间,因为你必须编译所有东西,最后版本的macOS(Sierra和High Sierra)没有瓶子.根据您的macOS版本,您可能会面临一些编译问题......
选项2)使用旧瓶子
OS X Mavericks(10.9),OS X Yosemite(10.10)和OS X El Capitan(10.11)都有可用的瓶子.您可以手动安装它们,但您还需要使用正确的版本安装依赖项(cabal-install 1.22.6.0和ghc 7.10.3).要安装旧瓶子检查旧配方,将旧瓶子复制到~/Library/Caches/Homebrew/并安装它:
HOMEBREW_NO_AUTO_UPDATE=1 brew install bottle_name
Run Code Online (Sandbox Code Playgroud)
选项3)建立自己的复古公式
另一种选择是为您想要的版本重写当前的pandoc公式.
结论
这些选项中的每一个都是可能的方式,但它们都不容易.没有简单的方法来安装旧版本的Pandoc和Homebrew.你应该使用像Stack这样的Haskell版本管理器.
| 归档时间: |
|
| 查看次数: |
673 次 |
| 最近记录: |