【问题标题】:How to upgrade Haskell Platform如何升级 Haskell 平台
【发布时间】:2013-02-18 21:13:55
【问题描述】:

我在 Windows 上安装了 Haskell Platform 2012.4。我想尝试 GHC 7.6.2 中的新扩展。看起来 GHC 7.6.2 x86_64 下载不包括安装程序,只是二进制文件。安装最新版本并将其设置为构建 Haskell 项目的默认版本的正确方法是什么?谢谢。

【问题讨论】:

    标签: haskell ghc


    【解决方案1】:

    如果您下载 GHC 本身,您只会获得 GHC 和一小部分库。如果您下载 Haskell 平台,您将获得 GHC 以及更大的库集合。但是,Haskell 平台不经常更新,因此您将获得旧版本的 GHC。

    如果你问“我如何安装 Haskell 平台,然后让它与更新的 GHC 一起工作?”,那么答案是“你不需要”。 Haskell 库必须针对您使用的特定 GHC 版本进行编译。

    你基本上有两种选择:

    1. 使用 Haskell 平台及其提供的 GHC 版本。
    2. 使用最新的 GHC,并手动编译您想要的任何库。

    在 Linux 上还不错,但绑定到外部 C 代码的 Haskell 库往往很难在 Windows 上构建。 (比如 OpenGL、zlib 等)100% 原生 Haskell 代码的包在任何系统上都非常容易编译。

    【讨论】:

    • 我了解每个版本的 GHC 都需要构建库。我只是想指定用于使用“runhaskell”构建的版本。我下载了 7.6.2,它只是一个包含可执行文件、库等的文件夹。接下来呢?我如何在您的 2 个选项之间进行选择?谢谢。
    • 嗯,这很有趣。他们曾经为 Windows 提供 MSI 安装程序。我想现在 Haskell 平台已经出现了,他们不再打扰了。我的猜测是您需要编辑 PATH 变量,以便首先列出新的 GHC。
    【解决方案2】:

    我还没有这样做,我正在工作,所以我无法测试它,但看看the GHC docs 我想你可以使用--with-compiler=path 标志来选择使用哪个版本的GHC?

    另请参阅this question,与使用安装了多个版本的 ghc 的 cabal 有关。我猜你可能想使用 cabal-dev 或其他东西来沙箱,否则你的包数据库可能会变得一团糟。

    编辑:就默认值而言,我认为您可以在 cabal 配置文件中进行设置。请参阅我链接的那个问题中接受的答案的 cmets。

    【讨论】:

    • 谢谢,越来越近了。现在 cabal 正在使用 GHC-7.6.2 但是我在尝试安装库时遇到了这样的错误............注册 nats-0.1...... cabal:权限被拒绝 cabal:错误:某些软件包无法安装:nats-0.1 在最后的安装步骤中失败。例外是: ExitFailure 1 。这是因为这些包不是为使用这个新的 ghc 版本而设计的,还是我设置错误?
    • 我不确定权限被拒绝位是关于什么的。查看那个 nats 包,它似乎应该使用最新的 GHC 构建。你在运行 cabal 之前运行过 cabal update 吗?老实说,这对我来说也是一个陌生的领域,所以祝你好运,并确保向我们更新有效的方法。我知道人们总是在谈论让事情在 Windows 上运行有多难,你可能是这里的先驱 :)
    【解决方案3】:

    这里的其他答案很好,我想补充一点,目前安装最新版本的 GHC 的最佳方法是查看haskell.org's installation instructions。在我到达那里之前,我在许多不同的选项之间来回切换,我认为这是我能说的最好的真相来源。

    总结当前的说明:如果您已经设置了巧克力,“在提升的命令提示符下,运行choco install haskell-dev,然后运行refreshenv。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-12
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      相关资源
      最近更新 更多