2013-02-18 103 views
11

我在Windows上安裝了Haskell平臺2012.4。我想嘗試GHC 7.6.2中的新擴展。它看起來像GHC 7.6.2 x86_64下載不包括安裝程序,只是二進制文件。什麼是安裝最新版本並設置爲構建Haskell項目的默認方式的正確方法?謝謝。如何升級Haskell平臺

回答

9

如果你下載GHC本身,你只需要GHC和一小撮庫。如果你下載了Haskell平臺,你會得到GHC和更大的庫集合。但是,Haskell平臺很少更新,所以你會得到GHC的舊版本。

如果你問「如何安裝Haskell平臺,然後使它與更新的GHC一起工作?」,那麼答案是「你不知道」。 Haskell庫必須針對您正在使用的特定版本的GHC進行編譯。

你基本上有兩種選擇:

  1. 使用哈斯克爾平臺,與版本GHC的,它提供在一起。
  2. 使用最新的GHC,並手動編譯你想要的庫。

在Linux上它並不算太壞,但是綁定到外部C代碼的Haskell庫往往很難在Windows上構建。 (像OpenGL,zlib等東西)100%香草Haskell代碼的軟件包很容易在任何系統上編譯。

+0

我知道這些庫需要與每個版本的GHC一起構建。我只是試圖指定用於構建「runhaskell」的版本。我下載了7.6.2,這只是一個可執行文件,庫文件夾等等。下一步是什麼?我如何選擇你的2個選項?謝謝。 – MFlamer 2013-02-18 22:06:56

+0

嗯,這很有趣。他們曾經爲Windows提供MSI安裝程序。我想現在Haskell平臺已經出現了,他們不再煩惱了。我的猜測是你需要編輯'PATH'變量,所以新的GHC列在第一位。 – MathematicalOrchid 2013-02-19 20:04:25

3

我還沒有這樣做,我在工作,所以我不能測試它,但看看the GHC docs我想你可以使用--with-compiler=path標誌來選擇使用哪個版本的GHC?

另請參閱this question,與使用cabal安裝多個版本的ghc相關。我猜想你可能想用cabal-dev或者其他的東西來做這件事,否則你的包數據庫可能會變得一團糟。

編輯:至於默認情況下,我認爲你可以在cabal配置文件中設置。請參閱我鏈接的問題中接受答案的評論。

+0

謝謝,越來越近。現在cabal正在使用GHC-7.6.2,但在嘗試安裝庫時遇到這樣的錯誤.....................註冊nats-0.1 ... cabal:權限被拒絕 cabal:錯誤:某些軟件包未能安裝: nats-0.1在最終安裝步驟中失敗。例外是: ExitFailure 1。這是因爲這些軟件包的設計不是用這個新的ghc版本來構建的,還是我設置錯誤的東西? – MFlamer 2013-02-19 01:20:25

+0

我不確定拒絕的權限是什麼。看看這個nats包,看起來它應該用最新的GHC構建。運行cabal之前運行cabal更新嗎?老實說,這對我來說也是陌生的領域,所以祝你好運,並且一定要向我們介紹一些有用的東西。我知道人們總是在討論在Windows上工作有多難,你可能是這裏的先驅:) – tredontho 2013-02-19 03:40:45