繁体   English   中英

如何使用“基本”规范安装 Haskell?

[英]How to install Haskell with a "base" specification?

我想运行一个需要特定版本base包的程序。 这个版本不是我的操作系统版本的Haskell附带的版本,因此我显然不能使用我的操作系统版本的 Haskell。

如果conda与 Haskell 一起工作,就像它与 Python 一起工作那样为特定版本的 Haskell 创建环境,那将会很棒,但事实并非如此。 Haskell 的sandbox功能也不允许指定base的版本,更不用说 Haskell 本身了。

PS:令人沮丧的是,SE 问题“ 如何在 Haskell 中安装旧版本的 base ”最终回答了另一个问题,而没有更改标题以反映它确实回答的问题。

有一个工具比 Haskell 中的conda更好用,称为stack base版本与安装的 ghc 版本硬连线。 您可以先安装stack ,它会自动安装您需要的 ghc 版本:

$ curl -sSL https://get.haskellstack.org/ | sh

此命令将自动安装 ghc-8.6.5,它由lts-14.22解析器指定,并将按需提供所有软件包,包括base

$ stack --resolver lts-14.22 ghci

获取resolver规范:

  1. 转到随特定 GHC 版本一起安装的所有软件包的此表
  2. 如果所需的base版本不可用,请找到表格底部的滚动条并向右滚动,直到找到一个。
  3. 假设它是base-4.11.1.0 ,然后查看此基础随附的 ghc 版本的列标题。
  4. 在这个例子中,ghc: 8.4.4, 8.4.3, 8.4.2 的任一版本都将拥有该版本的base
  5. 转到stackage.org主页并在“每个 GHC 版本的最新 LTS”列表中找到匹配的最新解析器。
  6. 在这个例子中,任何 lts-12 都可以用于上面的基础。

最新nightly解析器将永远有最新的ghcbase上stackage可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM