2

我刚刚在 Linux Mint 12 上通过apt-get. 每次我尝试使用 cabal-install 安装一些 hackage 包时,我都会得到:

couldn't read caba file xxxx.cabal

其中 xxxx 是我正在安装的包或包本身的依赖项。基于haskell cafe上的这个线程和SO中的其他问题,我从索引中删除了字节串包:

tar -f ~/.cabal/packages/hackage.haskell.org/00-index.tar --delete bytestring/0.9.2.0
tar -f ~/.cabal/packages/hackage.haskell.org/00-index.tar --delete bytestring/0.9.2.1

但错误仍然存​​在。

我的 cabal 安装版本是:

 $ cabal --version
 cabal-install version 0.10.2
 using version 1.10.1.0 of the Cabal library 

错误是这样的:

$ cabal install yesod
Resolving dependencies...
cabal: Couldn't read cabal file "fsnotify/0.0.5/fsnotify.cabal"

有谁知道可能会发生什么?

4

2 回答 2

6

我有同样的问题。在http://haskell.1045720.n5.nabble.com/Cabal-install-fails-due-to-recent-HUnit-td5715081i20.html上有一个关于这个问题的相关邮件列表线程

我相信结果是包文件的格式发生了变化,这里使用的 cabal 版本(我有相同的版本,从 ubuntu oneiric 获得)无法理解这些文件。你甚至不能执行“cabal install cabal-install”。

邮件列表线程在 2012 年 9 月逐渐消失,没有做出明确的决定,但我认为他们决定忽略这个问题。对于像我们这样的用户该怎么做,并没有明确的说明;我认为唯一可能的方法是从头开始安装haskell,但我还不知道从哪里开始。

编辑:我通过从http://hackage.haskell.org/packages/archive/cabal-install/1.16.0.2/cabal-install-1.16.0.2.tar.gz下载最新的 cabal 源包来解决这个问题,解压它并按照其自述文件中的说明进行本地安装。

于 2013-04-25T17:35:22.893 回答
0

我遇到了同样的问题,我无法按照 Richard 的说明进行操作,所以我意识到我正在运行 7.0 版。?我使用命令 $ 卸载了它uninstall-hs,然后安装了最新版本(7.6.3)。问题在这里解决了。

于 2014-01-26T09:02:37.917 回答