簡體   English   中英

堆棧未安裝正確版本的Haskell基庫

[英]Stack doesn't install correct version of Haskell base library

我對Haskell相當陌生。 我正在嘗試使用堆棧構建從GitHub下載的項目。 當我嘗試運行stack solver ,得到以下輸出:

cabal: Could not resolve dependencies:
trying: deeplearning-hs-0.1.0.2 (user goal)
next goal: base (dependency of deeplearning-hs-0.1.0.2)
rejecting: base-4.8.1.0/installed-075... (conflict: deeplearning-hs =>
base>=4.6 && <4.7)
rejecting: base-4.8.1.0 (global constraint requires installed instance)
rejecting: base-4.8.0.0, 4.7.0.2, 4.7.0.1, 4.7.0.0, 4.6.0.1, 4.6.0.0, 4.5.1.0,
4.5.0.0, 4.4.1.0, 4.4.0.0, 4.3.1.0, 4.3.0.0, 4.2.0.2, 4.2.0.1, 4.2.0.0,
4.1.0.0, 4.0.0.0, 3.0.3.2, 3.0.3.1 (global constraint requires ==4.8.1.0)
Dependency tree exhaustively searched.

問題似乎是這種“全局約束”,但是我不確定這是從哪里來的。 我查看了我的全局.cabal文件,它們非常通用-它們似乎未指定任何版本。

base是與GHC(編譯器)捆綁在一起的庫。 對於每個GHC版本,都有一個base版本。

要安裝deeplearning-hs ,您似乎需要滿足base == 4.6.*約束,即具有GHC版本7.6。 不幸的是,您無法使用堆棧AFAIK安裝早於7.8版本的GHC。

你可以,如果你改變它在本地播放base >=4.6 && <4.7范圍到base >= 4.6 && <4.8 ,即允許base與GHC 7.8來自例如。 注意,您不應該刪除依賴項,而應嘗試放松約束(即版本邊界)。 我在本地嘗試過,該軟件包似乎可以與GHC 7.8一起編譯。 它不能與GHC 7.10一起編譯,因為Foldable-Traversal-Proposal會影響此軟件包。

恕我直言,最好的方法是聯系維護者並要求升級,甚至更好地提交拉取請求,因為源似乎在GitHub上( 我做到了 )。

PS 我放松了Hackage的范圍 ,因此您現在就可以與GHC 7.8一起安裝它了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM