【发布时间】:2013-02-18 21:13:55
【问题描述】:
我在 Windows 上安装了 Haskell Platform 2012.4。我想尝试 GHC 7.6.2 中的新扩展。看起来 GHC 7.6.2 x86_64 下载不包括安装程序,只是二进制文件。安装最新版本并将其设置为构建 Haskell 项目的默认版本的正确方法是什么?谢谢。
【问题讨论】:
我在 Windows 上安装了 Haskell Platform 2012.4。我想尝试 GHC 7.6.2 中的新扩展。看起来 GHC 7.6.2 x86_64 下载不包括安装程序,只是二进制文件。安装最新版本并将其设置为构建 Haskell 项目的默认版本的正确方法是什么?谢谢。
【问题讨论】:
如果您下载 GHC 本身,您只会获得 GHC 和一小部分库。如果您下载 Haskell 平台,您将获得 GHC 以及更大的库集合。但是,Haskell 平台不经常更新,因此您将获得旧版本的 GHC。
如果你问“我如何安装 Haskell 平台,然后让它与更新的 GHC 一起工作?”,那么答案是“你不需要”。 Haskell 库必须针对您使用的特定 GHC 版本进行编译。
你基本上有两种选择:
在 Linux 上还不错,但绑定到外部 C 代码的 Haskell 库往往很难在 Windows 上构建。 (比如 OpenGL、zlib 等)100% 原生 Haskell 代码的包在任何系统上都非常容易编译。
【讨论】:
PATH 变量,以便首先列出新的 GHC。
我还没有这样做,我正在工作,所以我无法测试它,但看看the GHC docs 我想你可以使用--with-compiler=path 标志来选择使用哪个版本的GHC?
另请参阅this question,与使用安装了多个版本的 ghc 的 cabal 有关。我猜你可能想使用 cabal-dev 或其他东西来沙箱,否则你的包数据库可能会变得一团糟。
编辑:就默认值而言,我认为您可以在 cabal 配置文件中进行设置。请参阅我链接的那个问题中接受的答案的 cmets。
【讨论】:
这里的其他答案很好,我想补充一点,目前安装最新版本的 GHC 的最佳方法是查看haskell.org's installation instructions。在我到达那里之前,我在许多不同的选项之间来回切换,我认为这是我能说的最好的真相来源。
总结当前的说明:如果您已经设置了巧克力,“在提升的命令提示符下,运行choco install haskell-dev,然后运行refreshenv。”
【讨论】: