Raf*_*ini 2 package-managers cabal cabal-install
我刚刚在Linux Mint 12上安装了一个新的haskell平台安装程序apt-get.每次我尝试使用cabal-install安装一些hackage包时,我得到一个:
couldn't read caba file xxxx.cabal
Run Code Online (Sandbox Code Playgroud)
其中xxxx是我正在安装的软件包或软件包本身的依赖项.基于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
Run Code Online (Sandbox Code Playgroud)
但错误仍然存在.
我的cabal安装版本是:
$ cabal --version
cabal-install version 0.10.2
using version 1.10.1.0 of the Cabal library
Run Code Online (Sandbox Code Playgroud)
错误是这样的:
$ cabal install yesod
Resolving dependencies...
cabal: Couldn't read cabal file "fsnotify/0.0.5/fsnotify.cabal"
Run Code Online (Sandbox Code Playgroud)
有谁知道可能会发生什么?
我遇到了同样的问题.http://haskell.1045720.n5.nabble.com/Cabal-install-fails-due-to-recent-HUnit-td5715081i20.html上有关于此问题的相关邮件列表主题
我认为结果是包文件的格式已经改变,这里使用的cabal版本(我有相同的版本,从ubuntu oneiric获得)无法理解文件.你甚至不能做"cabal安装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中的说明进行本地安装.