2010-12-09 105 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的部分。

我正在嘗試它的過程。

我會回報,並讓人知道它是否有效。