覆盖 LTS 的 cabal 版本
Override the cabal version of an LTS
我有一个项目想用 LTS 2 编译,但我无法解决 this well-known bug in OS X 10.11。
我能否以某种方式指定更新版本的 Cabal
以与 ghc-7.8.4
一起使用?请注意,该项目仅真正使用 GHC 7.8.*.
进行编译
编辑:
真正的意思是 Cabal
,而不是 cabal-install
。
编辑 2:
实际上,这个问题的答案并没有真正解决我的具体问题(编译helium
,需要GHC <= 7.8.4),因为这个bug不是特定于Cabal
,而是 GHC < 7.10 所依赖的 unix
。
我认为问题不仅与 Cabal
库版本有关(顺便说一句,堆栈不使用或不需要 cabal-install
),还与 GHC 版本有关。 Stack 的常见问题解答提到了 item about this error,但我认为它对我没有帮助,我当时刚刚升级到 7.10.2。
以下是将 ghc-7.8.4 安装到您选择的目录的方法:
- 从 https://www.haskell.org/ghc/download_ghc_7_8_4#macosx_x86_64
下载 "bindist"
- 将其解压到临时目录
- 创建目标目录,例如
$HOME/my-prefix
.
在暂存目录中运行:
$ ./configure --prefix=$HOME/my-prefix
$ make install
现在可以在 $HOME/my-prefix/bin
中找到 ghc。
如 中所述,有 stack setup --upgrade-cabal
可以做到这一点。这就是这个问题的答案。
在我的具体情况下(XY 问题),为了使它起作用,我必须对 that El Capitano related bug, which is explained here 进行通常的解决方法。所以我启用了 rootless,运行 升级命令并重新启用了 rootless。
恐怕无济于事:该错误特定于 unix < 2.7.1.0
,GHC 7.8.4 也依赖于它。所以即使在升级 cabal 之后,我也无法在 lts-2 中编译任何东西,除非我禁用 rootless,这很烦人。
实际上 the GHC folks decided not to file a new minor release 与更新的 unix
包有点令人沮丧。这意味着没有 realistic/recent OS X 配置可以构建任何涉及 GHC < 7.10 的东西。
我有一个项目想用 LTS 2 编译,但我无法解决 this well-known bug in OS X 10.11。
我能否以某种方式指定更新版本的 Cabal
以与 ghc-7.8.4
一起使用?请注意,该项目仅真正使用 GHC 7.8.*.
编辑:
真正的意思是 Cabal
,而不是 cabal-install
。
编辑 2:
实际上,这个问题的答案并没有真正解决我的具体问题(编译helium
,需要GHC <= 7.8.4),因为这个bug不是特定于Cabal
,而是 GHC < 7.10 所依赖的 unix
。
我认为问题不仅与 Cabal
库版本有关(顺便说一句,堆栈不使用或不需要 cabal-install
),还与 GHC 版本有关。 Stack 的常见问题解答提到了 item about this error,但我认为它对我没有帮助,我当时刚刚升级到 7.10.2。
以下是将 ghc-7.8.4 安装到您选择的目录的方法:
- 从 https://www.haskell.org/ghc/download_ghc_7_8_4#macosx_x86_64 下载 "bindist"
- 将其解压到临时目录
- 创建目标目录,例如
$HOME/my-prefix
. 在暂存目录中运行:
$ ./configure --prefix=$HOME/my-prefix $ make install
现在可以在 $HOME/my-prefix/bin
中找到 ghc。
如 stack setup --upgrade-cabal
可以做到这一点。这就是这个问题的答案。
在我的具体情况下(XY 问题),为了使它起作用,我必须对 that El Capitano related bug, which is explained here 进行通常的解决方法。所以我启用了 rootless,运行 升级命令并重新启用了 rootless。
恐怕无济于事:该错误特定于 unix < 2.7.1.0
,GHC 7.8.4 也依赖于它。所以即使在升级 cabal 之后,我也无法在 lts-2 中编译任何东西,除非我禁用 rootless,这很烦人。
实际上 the GHC folks decided not to file a new minor release 与更新的 unix
包有点令人沮丧。这意味着没有 realistic/recent OS X 配置可以构建任何涉及 GHC < 7.10 的东西。