2012-03-21 16 views
3

my application中運行 yesod devel時出現以下問題。如何解決Yesod 10.2中的http-conduit問題?

它開始了罰款(編譯完成),但故障時預處理可執行文件:

解決依賴... 配置WebToKindle-0.0.0 ... 改造中的應用... 強制重新編譯爲./Model.hs因爲配置/模型 強制重新編譯./Foundation.hs,因爲配置/路由 強制重新編譯./Foundation.hs,因爲messages/en.msg 強制重新編譯./Foundation.hs,因爲模板/ default-layout-wrapper.hamlet 強制重新編譯./Foun dation.hs由於templates/default-layout.hamlet 由於模板/ homepage.hamlet而強制重新編譯./Handler/Root.hs 預處理庫WebToKindle-0.0.0 ... 預處理WebToKindle-0.0.0的可執行文件... Building 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文件的build-depends中添加`http-conduit'。 使用-v查看搜索的文件列表。建立失敗,暫停...

運行cabal install我的應用程序工作正常,我能夠啓動它並瀏覽到瀏覽器的開始頁面。

所以這個問題似乎只發生在devel工具。

我試圖取消註冊相關的包並將它們重新安裝在一起,以幫助cabal找出依賴關係。

cabal install yesod yesod-auth authenticate http-conduit

可惜的是並沒有改變任何事情。

由於我想享受「即時滿足」發展的好處,我非常感謝任何幫助解決這一問題。

更新

的東西了一會兒,並用一元的在問題的根源上患難見真情幫助擺弄之後,我想通了,問題是,我改變了陰謀的版本我的陰謀文件裏面1.8。我改回到1.6,現在一切正常。

回答

2

[警告:我的建議與Yesod無關,因爲我不使用它。這可能是錯誤的]

該錯誤並不是在安裝方面談論缺少的軟件包。您只能訪問您的cabal文件中列出的依賴關係,而不是整個包列表。您需要將http-conduit添加到您的依賴關係中(最好使用正確的版本約束)

+0

我希望這很容易,但它已經列爲我的cabal文件中的依賴項: https:// github。COM/thlorenz/WebToKindle/BLOB/yesodsite/src目錄/ WebToKindle.cabal。 – 2012-03-21 02:00:07

+0

@Thorsten Lorenz仍然認爲安裝不是問題。然而,這個軟件包不會被某種機會隱藏起來? (對不起,只是拋出想法...特別是沒有yesod的知識) – alternative 2012-03-21 02:08:48

+0

@Thorsten Lorenz哦,我看了一下你的cabal文件 - 只有可執行文件將它作爲依賴項,而不是庫。也許這是問題?而且由於庫只是根據cabal文件使用'yesod devel'構建的,所以這很有意義。 – alternative 2012-03-21 02:09:58