我正在尝试在系统上构建/安装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及以后带有“ Filepath”软件包?而且我还不清楚“基础”指的是什么?

有帮助吗?

解决方案

GHC已安装了一组库。当您在Cabal上方运行构建命令时,想“重新安装”带有GHC的库的一些较旧版本。出于明显的原因,这是不好的。

如果您真的需要这样做,则可以使用 cabal-dev 代替 Cabal. 。顺便说一句,使用 Setup.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用户想要和需要的有用库的集合。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top