安装darcsden

rba*_*iro 5 install darcs cabal cabal-install

在进行darcsden代码的cabal安装后,我收到以下消息:

cabal:重新安装可能会破坏以下软件包:bin-package-db-0.0.0.0 ghc-7.4.1如果要安装,请使用--force-reinstalls.

我该如何解决这个问题?这是什么意思?

kos*_*kus 8

为什么会这样?

如果查看完整输出cabal install darcsden,您会发现几行如下所示:

binary-0.5.1.0 -bytestring-in-base (reinstall) changes: array-0.4.0.0 ->
0.3.0.3, containers-0.4.2.1 -> 0.4.1.0
Run Code Online (Sandbox Code Playgroud)

这意味着cabal找到了一个安装计划,该计划涉及(破坏性地)重新安装系统中已有的软件包.

现在,GHC包对于它们(反身)的依赖关系是相当敏感的,并且通常只有在所有依赖项的正确版本可用时才能工作,针对其依赖项的正确版本进行编译,依此类推.因此,使用更新的依赖项的新版本替换已安装的软件包可能会导致系统上的某些软件包无法使用.从版本0.14.0开始,cabal提前警告您这种情况,以防止您意外破坏您的系统.

在您的情况下,ghc并且bin-package-db是可能损坏的软件包之一,因为它们依赖于binary重新安装的软件包.所以,你应该尝试使用--force-reinstalls标志,因为它可能真正打破你的GHC.

你能做什么?

如果您扫描将要重新安装的内容,您会看到相当多的依赖项被降级.这暗示了您尝试安装的软件包可能尚未正确更新到GHC 7.4.1.

您通常可以尝试调用cabal install darcsden --avoid-reinstalls以显式尝试查找没有重新安装的安装计划.不幸的是,在这种情况下,它失败了(对我来说).

我简要地看了一下darcsden包描述,但看起来很多darcsden需要更新的依赖项.所以剩下的选项是:说服作者darcsden发布更新版本,或darcsden使用旧版本的GHC(例如7.0.4)安装,这应该可行.

  • http://hub.darcs.net/simon/darcsden上有一个更新版本,它将更容易安装,它应该很快就会出现在hackage上. (2认同)