Cabal安装解决依赖项问题

时间:2019-10-04 17:05:46

标签: haskell cabal

我正在按照本教程尝试设置Haskell项目:http://shuklan.com/haskell/lec10.html#/0/9

在“ cabal install”之前,我遇到过这个问题。

我收到以下消息。我读过尝试'rm -rf〜/ .ghc〜/ .cabal'。我尝试了这一点,并再次进行了“ cabal安装”,以及“ cabal新构建”,但仍然收到相同的消息。

我该如何解决?我在Mac OS X 10.11.4上。我可以制作并运行.hs文件,也可以运行ghci。我从来没有用其他编程语言创建过“文件结构”或类似的东西,所以我不熟悉其中涉及的内容。

谢谢!


Please switch to using either the new project style and the new-install
command or the legacy v1-install alias as new-style projects will become the
default in the next version of cabal-install. Please file a bug if you cannot
replicate a working v1- use case with the new-style commands.

For more information, see: https://wiki.haskell.org/Cabal/NewBuild

Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: FirstCabalInit-0.1.0.0 (user goal)
[__1] next goal: base (dependency of FirstCabalInit)
[__1] rejecting: base-4.12.0.0/installed-4.1... (conflict: FirstCabalInit =>
base==4.6.*)
[__1] rejecting: base-4.12.0.0, base-4.11.1.0, base-4.11.0.0, base-4.10.1.0,
base-4.10.0.0, base-4.9.1.0, base-4.9.0.0, base-4.8.2.0, base-4.8.1.0,
base-4.8.0.0, base-4.7.0.2, base-4.7.0.1, base-4.7.0.0, base-4.6.0.1,
base-4.6.0.0, base-4.5.1.0, base-4.5.0.0, base-4.4.1.0, base-4.4.0.0,
base-4.3.1.0, base-4.3.0.0, base-4.2.0.2, base-4.2.0.1, base-4.2.0.0,
base-4.1.0.0, base-4.0.0.0, base-3.0.3.2, base-3.0.3.1 (constraint from
non-upgradeable package requires installed instance)
[__1] fail (backjumping, conflict set: FirstCabalInit, base)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, FirstCabalInit ```

2 个答案:

答案 0 :(得分:1)

您可以找到以下有关在Haskell中构建工具的指南:

根据错误消息,在您的.cabal文件中,您的一行看起来像

build-depends: base == 4.6.*

此版本的标准库base很旧,它对应于GHC-7.6,但是,根据错误消息,您已安装了GHC-8.6.5。由于base版本是与GHC捆绑在一起的,因此您无法为未安装的GHC使用base。请参见以下匹配base和GHC版本的列表:

以下修复程序似乎可以解决您的错误:

build-depends: base == 4.12.*

将来,我建议您使用ghcup工具在macOS上管理GHC和cabal-install版本:

或者,您可以使用stack构建工具,它在沙盒位置为您管理GHC版本。

答案 1 :(得分:-2)

  

著名的“地狱”。

最好使用最新的软件包管理器https://docs.haskellstack.org/en/stable/README/