如何使用Yesod 10.2解决http-conduit问题?

时间:2012-03-21 01:39:53

标签: haskell cabal yesod

运行时出现以下问题 my application中的yesod devel

它开始很好(编译完成),但在预处理可执行文件时出现错误:

  

解决依赖关系......   配置WebToKindle-0.0.0 ...   重建申请......   由于config / models而强制重新编译./Model.hs   由于config / routes而强制重新编译./Foundation.hs   由于messages / en.msg而强制重新编译./Foundation.hs   由于templates / default-layout-wrapper.hamlet,强制重新编译./Foundation.hs   由于templates / default-layout.hamlet而强制重新编译./Foundation.hs   由于templates / homepage.hamlet,强制重新编译./Handler/Root.hs   预处理库WebToKindle-0.0.0 ...   为WebToKindle-0.0.0预处理可执行文件...   构建WebToKindle-0.0.0 ......

     

Application.hs:22:8:       找不到模块Network.HTTP.Conduit': It is a member of the hidden package http-conduit-1.2.6'。         也许你需要在你的.cabal文件中添加`http-conduit'到build-depends。         使用-v查看搜索的文件列表。构建失败,暂停...

运行cabal install我的应用程序工作正常,我可以启动它并浏览到浏览器中的起始页面。

所以这个问题似乎只发生在devel工具上。

我尝试取消注册相关的软件包并将它们重新组合在一起,以帮助cabal找出依赖项。

cabal install yesod yesod-auth authenticate http-conduit

不幸的是,这并没有改变一件事。

由于我希望享受“即时满足”发展的好处,所以我很感激任何帮助来解决这个问题。

更新

经过一段时间的修补和monadic帮助将问题源归零后,我发现问题在于我将cabal文件中的cabal版本更改为1.8。我把它改回1.6,现在一切正常。

1 个答案:

答案 0 :(得分:2)

[警告:我的建议与Yesod无关,因为我不使用它。这可能是错的]

该错误并不是在讨论安装方面缺少的包。您只能访问cabal文件中列出的依赖项,而不是整个软件包列表。您需要将http-conduit添加到依赖项中(最好使用正确的版本约束)