1

目前,当我尝试安装 GOA 时,我收到以下消息:

>sudo cabal install goa
Resolving dependencies...
In order, the following would be installed:
directory-1.1.0.2 (reinstall) changes: filepath-1.3.0.0 -> 1.2.0.1
process-1.0.1.5 (new version)
goa-3.1 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
....

我的问题是这是否意味着我目前将“filepath-1.3.0.0”作为默认值,而 cabal(在 --force-reinstalls 之后)将覆盖它并将“filepath-1.2.0.1”作为默认值?我有点困惑的原因是当我查看位置时:

阴谋集团/packages/hackage.haskell.org/filepath

我发现 1.2.0.1 和 1.3.0.0 都存在。此外,命令“cabal list filepath”表示两个软件包都已安装(请参阅下面的“已安装版本:1.2.0.1、1.3.0.0”):

>cabal list filepath
......
* filepath
    Synopsis: Library for manipulating FilePaths in a cross platform way.
    Default available version: 1.3.0.1
    Installed versions: 1.2.0.1, 1.3.0.0
    Homepage: http://www-users.cs.york.ac.uk/~ndm/filepath/
    License:  BSD3
4

1 回答 1

2

现在,您已经directory-1.1.0.2安装并构建了filepath-1.3.0.0.

这里的问题是您正在安装goa需要filepath (≥1.1 & <1.3), directory (≥1.0 & <1.2). 您已经安装了所有正确的软件包,但directory构建的filepath. Cabal-install 对这个冲突的解决方案是重建directory,以便它使用旧版本的filepath. 所有这一切都是因为你不应该在包的依赖项中拥有同一个包的多个版本(goa在这种情况下)。

于 2012-12-05T15:45:11.630 回答