0

我正在尝试在我的系统上构建/安装 Cabal,但遇到了以下依赖错误:

SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ghc --make Setup
SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ./Setup configure
Configuring Cabal-1.8.0.4...
Setup: At least the following dependencies are missing:
base >=4 && <3 && >=1 && <5, filepath >=1 && <1.2

我安装了 GHC 7.0.1,据我所知 GHC 6.6.1 和后来的“文件路径”包?我不清楚“基地”到底指的是什么?

4

1 回答 1

1

GHC 附带了一组已经安装的库。当你在上面运行 build 命令时,cabal 想要“重新安装”一些 GHC 附带的旧版本的库。这很糟糕,原因很明显。

如果你真的需要这样做,它可能会使用cabal-dev而不是Cabal. 顺便说一句, usingSetup.hs调用Cabal编译器附带的库版本,其中运行cabal命令调用cabal-install程序。

cabal-dev是提供沙盒构建的包装器cabal-install(以及库)。Cabal可以安全地安装需要 GHC 随附的不同版本库的程序。剩下的问题是那些较旧的库是否会针对较新的 GHC 构建。在许多情况下,构建将失败。

我强烈建议您cabal-dev在日常包构建中使用,而不是cabal-install. 沙盒的好处很多,并且大大超过了cabal-install通过升级您已经安装的依赖链中间某个位置的包来破坏包数据库的风险。

有关使用的更多信息cabal-dev,我推荐这个reddit 帖子

base是一组 Haskell 模块,提供每个 GHC 安装附带的大部分功能。它是大多数 Haskell 用户想要和需要的有用库的集合。

于 2011-06-25T00:38:13.273 回答