题
我正在尝试在系统上构建/安装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用户想要和需要的有用库的集合。
不隶属于 StackOverflow