所以我最近安装了cabal(来自ArchLinux的默认二进制文件)。 然后我尝试以用户身份升级cabal:
cabal upgrade Cabal --user --prefix = $ USER
解决依赖关系......
cabal:fromFlag NoFlag。使用fromFlagOrDefault
我已经做过的事情:
所以基本上我在想:
答案 0 :(得分:1)
我在这里疯狂猜测,但你能看到
吗?Setup.hs
?flags:
设置了~/.cabal/config
?我发现的最有用的教程表面上并不是关于Cabal的;它被称为How to Write a Haskell Program。
我查看了你提到的指南(官方的Cabal文档),我想要的信息是一小部分漂浮在复杂海洋中的漂浮物。我认为复杂性有一些有用的目的,因为我知道好人已经在Cabal上工作了很多年,但作为一个局外人,我发现游戏的状态令人沮丧。我几乎无法构建,安装和上传我自己的简单软件包 - 在我的朋友们的帮助下做了一些。
我暂时建议您可以避免使用cabal upgrade
,也可以尝试使用cabal install
,看看您是否可以继续实现原定目标。
答案 1 :(得分:1)
我认为这是Arch的软件包中的一个错误。我也在运行Arch,我也遇到了同样的错误。
然后我从Hackage构建了cabal-install(0.8.2),当我运行cabal upgrade Cabal
时没有抱怨。事实上,它立即开始建设,虽然我没有让它完成,因为我觉得升级核心包不太舒服。
请问为什么要升级Cabal? ghc附带的版本是1.8.0.2,最新版本是1.8.0.4 - 不是太远的IMO。此外,如果您以普通用户身份运行cabal-install,为什么不简单cabal install
?它无权覆盖系统文件。
答案 2 :(得分:0)
来自user tlo:
cabal-install的全局配置文件是〜/ .cabal / config。如果 你没有这个文件,cabal会在第一时间为你创建它 致电cabal更新。
我删除了我的配置,运行cabal update
,一切都很好。