我刚刚通过apt-get
在Linux Mint 12上安装了新的haskell平台。每次我尝试使用cabal-install安装一些hackage包时,我得到一个:
couldn't read caba file xxxx.cabal
其中xxxx是我正在安装的软件包或软件包本身的依赖项。基于this thread on haskell cafe和SO中的其他问题,我从索引中删除了bytestring包:
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-install版本是:
$ 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"
有谁知道可能会发生什么?
答案 0 :(得分: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源包来解决这个问题,解压缩并按照README中的说明进行本地安装。
答案 1 :(得分:0)
我遇到了同样的问题而且我无法按照理查德的说法进行操作,因此我意识到我正在运行7.0版本。?,我使用命令$ uninstall-hs
卸载它,然后安装了最新版本( 7.6.3)。问题解决了。