2010-12-10 68 views
0

我試圖建立/我的系統上安裝驚天動地的時候建立自己的錯誤,我運行到下面的相關性錯誤:GHC試圖建立驚天動地庫

SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ghc --make Setup 
SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ./Setup configure 
Configuring Cabal-1.8.0.4... 
Setup: At least the following dependencies are missing: 
base >=4 && <3 && >=1 && <5, filepath >=1 && <1.2 

我已經安裝了GHC 7.0.1,就我所知,GHC 6.6.1和後來的'filepath'軟件包一起?我不清楚究竟是什麼「基礎」是指?

+0

GHC-7.0.1已經擁有Cabal-1.10.0.0,您不想降級它,因爲它與該版本的GHC配對。你真的想要安裝cabal嗎?我認爲您需要等到新版本發佈後,即將推出新版本(即本月),因爲下一版本平臺的候選版本需要它。 – 2010-12-10 22:41:22

+0

@stephen,如果cabal自帶GHC,你能告訴我如何'啓用'命令行客戶端嗎?我正在嘗試在我的系統上安裝xmonad。 – 2010-12-11 01:05:09

+3

嗨凱西。命令行客戶端是「cabal-install」。儘管GHC附帶了cabal庫的配對版本,但「cabal-install」是一個比cabal庫頂部的可執行文件更大的程序,因此直到GHC幾周後纔會發佈。如果你主要想要xmonad,你最好使用Haskell-Platform,所以你必須退回到GHC 6.12.4(或者等待下一個我認爲計劃在1月份發佈的平臺版本)。 – 2010-12-11 08:25:18

回答

1

GHC附帶一組已安裝的庫。在cabal上面運行build命令時,要「重新安裝」GHC附帶的某些舊版本庫。這顯然是不好的。

如果您確實需要這樣做,可能會使用cabal-dev而不是Cabal。順便說一句,使用Setup.hs會調用編譯器附帶的Cabal庫的版本,其中運行cabal命令會調用cabal-install程序。

cabal-dev是一個圍繞cabal-install(和因此Cabal庫)提供沙盒構建的包裝。安全地安裝需要GHC附帶的不同版本庫的程序。剩下的問題是這些較舊的圖書館是否會針對較新的GHC構建。在很多情況下,構建會失敗。

我強烈建議您使用cabal-dev來代替cabal-install的日常包裝建設。沙箱的好處有很多,並且強大地超過了cabal-install通過在已經安裝的東西中升級依賴鏈中間的某個包來損壞包數據庫的風險。

有關使用cabal-dev的更多信息,我建議您使用reddit post

base是一組Haskell模塊,它提供了每個GHC安裝附帶的大部分功能。它是大多數Haskell用戶希望和需要的有用庫的集合。