可以采取哪些措施来解决这种依赖性问题?

时间:2015-06-24 08:23:26

标签: haskell cabal-install bytestring aeson

重置aeson~/.ghc后,我正在尝试安装~/.cabal

cabal install aeson给出了以下错误消息:

Resolving dependencies...
cabal: Could not resolve dependencies:
next goal: aeson (user goal)
rejecting: aeson-0.9.0.1, 0.9.0.0, 0.8.1.1, 0.8.1.0 (global constraint
requires ==0.8.0.2)
trying: aeson-0.8.0.2
next goal: bytestring (user goal)
rejecting: bytestring-0.10.6.0, 0.10.4.1, 0.10.4.0, 0.10.2.0 (global
constraint requires installed instance)
rejecting: bytestring-0.10.0.2/installed-4f9... (conflict: aeson =>
bytestring>=0.10.4.0)
rejecting: bytestring-0.10.0.2, 0.10.0.1, 0.10.0.0, 0.9.2.1, 0.9.2.0,
0.9.1.10, 0.9.1.9, 0.9.1.8, 0.9.1.7, 0.9.1.6, 0.9.1.5, 0.9.1.4, 0.9.1.3,
0.9.1.2, 0.9.1.1, 0.9.1.0, 0.9.0.4, 0.9.0.3, 0.9.0.2, 0.9.0.1, 0.9 (global
constraint requires installed instance)
Dependency tree exhaustively searched.

我系统中当前版本的bytestring包是0.10.2.0。我尝试cabal install bytestring --reinstall以便我可以拥有更新版本的bytestring(从而解决了aeson依赖问题)。但这会返回一个非常奇怪的错误:

Resolving dependencies...
cabal: Could not resolve dependencies:
next goal: bytestring (user goal)
rejecting: bytestring-0.10.6.0, 0.10.4.1, 0.10.4.0, 0.10.2.0, 0.10.0.2,
0.10.0.1, 0.10.0.0, 0.9.2.1, 0.9.2.0, 0.9.1.10, 0.9.1.9, 0.9.1.8, 0.9.1.7,
0.9.1.6, 0.9.1.5, 0.9.1.4, 0.9.1.3, 0.9.1.2, 0.9.1.1, 0.9.1.0, 0.9.0.4,
0.9.0.3, 0.9.0.2, 0.9.0.1, 0.9 (global constraint requires installed instance)
Dependency tree exhaustively searched.

我可以使用沙箱解决问题。但是我很想知道是否有更好的方法可以解决依赖问题。

更新:根据建议,我删除bytestring ghc-pkg unregister --force bytestring,这打破了一些软件包,但仍然无法安装aeson。

以下是ghc-pkg list列表的输出:http://lpaste.net/135108

1 个答案:

答案 0 :(得分:1)

你的约束((keyword0.*keyword1|keyword1.*keyword0) )来自哪里?

global constraint
requires ==0.8.0.2