8

假设我想使用不同版本的 GHC,每个版本都有不同的二进制名称。

问题 1. 我可以为每个安装使用 ./configure --prefix=ghc-some-version-dir 并创建符号链接ghc-7.4.1,没有问题吗ghc-7.6.2ghc-head

也就是说,在从源代码安装和创建二进制文件之后。构建项目及其依赖项仍然需要使用虚拟环境。

问题 2. 是什么阻止我们将 ghc 上传到 Hackage,其包名ghc-version的二进制名称取决于其版本?例如,可以在 ~/.cabal/bin 中cabal install ghc-version-7.6.2获取二进制文件ghc-7.6.2

4

2 回答 2

11

你不需要做任何特别的事情。GHC 已经安装了所有带有版本化名称的可执行文件,以及从非版本化名称到最近安装版本的链接,例如从“ghc”到“ghc-7.6.1”的链接或您上次安装的任何内容。当您从存储库构建时,版本号很长,并且包括您构建它的日期。

我不确定为什么 GHC 不在 Hackage 上,但我认为这是因为构建系统非常复杂,并且对它进行阴谋化(和维护阴谋化)会比它的价值更多。

于 2013-03-27T23:31:06.343 回答
3

有几种解决方案

于 2013-03-27T23:34:14.683 回答