2011-11-17 148 views
5

我試圖在Ubuntu 11.04上從頭開始設置Haskell,而不使用過時的Debian repo或Haskell-Platform。如何在沒有Cabal或Cabal-Install的情況下安裝軟件包/庫?

我已經從源代碼安裝了GHC-7.0.4,沒有問題,現在需要安裝Cabal(它似乎已經被包含在/usr/local/lib/ghc-7.0.4/Cabal-1.10.2.0的GHC中)和Cabal Install

後者指定了幾個依賴(parsecnetwork),其每一個都有自己的(mtltext等)的幾個依賴關係。

安裝這些軟件包的命令是什麼,我是從tar.gz格式的黑客文件中找到的?解壓縮,然後runhaskell不起作用。我看到Setup.lhs,但目前尚不清楚該如何使用它。

我發現的大多數Haskell文檔都假設你已經從repo或Haskell-Package安裝,並沒有真正解釋這一點。

謝謝!

回答

11

cabal-install有一個shell腳本來執行此操作。如果你download it from hackage並安裝它,你可以開始bootstrap.sh安裝cabal-install。然後您可以使用它來安裝其他軟件包。

+1

謝謝,我意識到這一點,但RWH似乎需要先安裝parsec和網絡(http://book.realworldhaskell.org/read/installing-ghc-and-haskell-libraries.html),並從首先安裝docs,然後才能運行bootstrap.sh。我現在看到bootstrap.sh爲你做了這一切。這就是我在凌晨3點做這件事的原因。 – Kurtosis

5

有兩種不同的包:Cabalcabal-install。 Cabal是一個庫,cabal-install是一個名爲cabal的可執行文件。

要安裝包裝,cabal-install是Cabal周圍的可選便利包裝,但需要Cabal。

根據http://hackage.haskell.org/trac/ghc/wiki/Commentary/Libraries,Cabal是一個'零引導'軟件包,所以當您構建GHC時,Cabal及其依賴關係是爲您自動構建的。

您可以使用ghc-pkg可執行文件來檢查哪些包已安裝:

# ghc-pkg list 

檢查卡瓦爾在列表中你建立GHC後。使用此文件如果是,你可以在不安裝更多的包小集團安裝:

http://haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package

我建議你安裝cabal-install第一,然後再安裝其他一切使用cabal-install可執行文件。全球安裝的通常commandine是這樣的:

# runhaskell Setup configure 
# runhaskell Setup build 
# sudo runhaskell Setup install 

解壓包tar包,並與Setup.hsSetup.lhs文件運行該文件夾中的命令。請注意,還支持每用戶非root用戶安裝 - 使用runhaskell Setup configure --user

以這種方式安裝cabal可執行文件及其依賴關係時,請使用cabal install {package-name}來安裝更多的軟件包。

請注意,Haskell平臺的存在主要是因爲您自己安裝cabal-install的痛苦。

+0

謝謝,我看到我正在使用runhaskell安裝不正確。凌晨3點不在所有氣瓶上開火。非常感激! – Kurtosis

相關問題