运行时出现以下问题
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,现在一切正常。
答案 0 :(得分:2)
[警告:我的建议与Yesod无关,因为我不使用它。这可能是错的]
该错误并不是在讨论安装方面缺少的包。您只能访问cabal文件中列出的依赖项,而不是整个软件包列表。您需要将http-conduit
添加到依赖项中(最好使用正确的版本约束)