2010-12-09 108 views
6

Haskell包依赖性仍然是一个问题,但我不知道如何解决这个问题。我的环境:cabal安装yesod失败?

  • 的Ubuntu 10.10,新安装
  • 的apt-get安装ghc6小集团安装
  • 阴谋更新& &阴谋安装小集团安装

然后:

  • cabal install yesod

而且我得到这个:

$ cabal install yesod 
cabal: Error: some packages failed to install: 
persistent-0.3.1.2 failed during the building phase. The exception was: 
ExitFailure 1 
yesod-0.6.6 depends on persistent-0.3.1.2 which failed to install. 
$ cabal install persistent-0.3.1.2 
Resolving dependencies... 
cabal: cannot configure blaze-builder-0.2.0.2. It requires text ==0.10.* 
For the dependency on text ==0.10.* there are these packages: text-0.10.0.0, 
text-0.10.0.1 and text-0.10.0.2. However none of them are available. 
text-0.10.0.0 was excluded because enumerator-0.4.3.1 requires text ==0.11.* 
text-0.10.0.1 was excluded because enumerator-0.4.3.1 requires text ==0.11.* 
text-0.10.0.2 was excluded because enumerator-0.4.3.1 requires text ==0.11.* 

我该如何安装耶索德?

+1

Simon Meier刚刚上传了一个新版本的blaze-builder,它可以解决这个问题。你可以更新并尝试再次安装吗? – 2010-12-09 09:46:21

回答

4

要查看更多详细信息,请添加-v(或甚至-v2或-v3),也许--dry-run。使用ghc-pkg列表查看当前安装的内容也很有用。

当你升级持久性时,cabal决定它也应该重建你现有的yesod,这取决于它。这触发了火焰建造者升级。大火建设者需要比正在安装的枚举器更老的文本。

http://hackage.haskell.org/package/enumerator声称支持较旧的文本版本以及0.11。但是阴谋总是以某种方式被证明。详细的输出可能会告诉更多,或者看看你是否可以用一个或两个约束来帮助它。或者先卸载一些相关的软件包,比如yesod。当然可以确定你已经完成了更新。

+1

这正是正确的答案。我已经通过电子邮件发送了火焰生成器的作者,并要求他添加最新的文本包作为支持。您目前可以通过手动修改blaze-builder软件包并允许0.11文本解决此问题。 – 2010-12-09 07:52:32

1

存在依赖性中断。将此作为错误报告给软件包的作者。考虑手动下载并安装老版本的枚举器。

2

yesod正在大力发展。电子邮件michael snoyman(联系信息可以找到here),他是非常敏感的请求

1

,我发现这里大约一个更好的安装过程中的一些信息:

https://github.com/yesodweb/yesod

查找有关阴谋-SRC的部分。

我正在尝试它的过程。

我会回报,并让人知道它是否有效。