2014-12-20 188 views
1

我試圖建立一個耶索德項目如下:耶索德與stackage未能安裝由於依賴問題

mkdir sample_blog 
curl -o cabal.config www.stackage.org/nightly/cabal.config 
cabal install alex happy yesod-bin 

但是,我得到了以下錯誤:

Resolving dependencies... 
cabal: Could not resolve dependencies: 
next goal: Cabal (user goal) 
rejecting: Cabal-1.18.1.4/installed-d6c... (global constraint requires 
==1.18.1.3) 
trying: Cabal-1.18.1.3/installed-476... 
trying: yesod-bin-1.4.2 (user goal) 
next goal: ghc (dependency of yesod-bin-1.4.2) 
rejecting: ghc-7.8.3/installed-1d5... (conflict: 
Cabal==1.18.1.3/installed-476..., ghc => Cabal==1.18.1.4/installed-d6c...) 
Dependency tree exhaustively searched. 

Note: when using a sandbox, all packages are required to have consistent 
dependencies. Try reinstalling/unregistering the offending packages or 
recreating the sandbox. 

我已經使用自制軟件安裝GHC和cabal-install。 版本:

$ ghc --version 
The Glorious Glasgow Haskell Compilation System, version 7.8.3 


$ cabal --version 
cabal-install version 1.20.0.4 
using version 1.20.0.3 of the Cabal library 

回答

2

看來,自制軟件已經修復標準GHC安裝,因爲它有一個不同的版本驚天動地庫比官方GHC的出貨。我不知道爲什麼會發生。快速解決方法是從cabal.config中刪除Cabal行。你能否對Stackage提出一個問題?我想深究爲什麼會發生這種情況。

+0

要確認,你想要一個針對倉庫的問題,而不是自制。 – 11Kilobytes

+0

是的,這個問題很好,謝謝。如果有人從自制軟件中解釋爲什麼他們有不同的版本,這將是很好的。現在我想到了,理論上* *所有Mac用戶都有不同版本的Cabal庫。 –

+0

順便說一下,當我將yesod-bin安裝到我的沙盒中時,我現在該做什麼。如果我使用./cabal-sandbox/bin/yesod init創建一個新項目,我會得到一個沒有cabal-sandbox的新子目錄。那麼,我該如何在當前目錄中創建一個新項目? – 11Kilobytes