2012-09-07 49 views
4

我喜歡Haskell編碼,但經常在計算機上,我無法安裝軟件,並且對您可以運行的內容有一些限制。我想編寫Haskell代碼並在這臺計算機上測試它。有沒有人知道用Java,JavaScript,Ruby,Python或Mac上默認安裝的其他解釋語言編寫的解釋或編譯的Haskell版本? Haskell的獨立版本可以在用戶級別安裝,但我自己編譯Haskell不是一種選擇。Haskell在用戶級別

+0

小段代碼或多個文件? –

+0

你不能只用一個虛擬機運行一個虛擬機Ubuntu上的Mac,然後用管理員權限安裝任何你喜歡的東西? – leftaroundabout

+0

他只能運行一個虛擬機,如果管理員已經爲他提供了這麼多的軟件...... –

回答

11

GHC二進制發行版(以tarballs而非安裝程序發行)均可輕鬆安裝在本地。如果你想陰謀

./configure --prefix=$HOME/ghc 
make install 

然後更新您的路徑包括$ HOME/GHC/bin中

,從hackage得到壓縮包,然後解壓並運行bootstrap.sh。

GHC作爲一個本地安裝非常有效。事實上,我從來沒有把它用作系統安裝。

+0

謝謝!這甚至不需要運行我不應該運行的任何應用程序,因爲我可以運行Java運行時並使用基於java的終端來執行所有這些命令。爲了簡單起見和第一個答案,你會得到'正確'的標誌。 –

+0

作爲一個最近不得不打他的操作系統(Ubuntu與舊回購)來擺脫GHC6安裝GHC7:謝謝。 – David

3

我在我的工作站上也是這樣做的,這樣我的分佈(Debian在我的情況下)不會突然開始升級,沒有我注意到一個簡單的apt-get upgrade

此解決方案安裝完整的ghchaskell-platform以及~/.cabal前綴。

首先,我有一個~/local目錄,我使用它來將自定義編譯的程序放在我的主目錄中。我通常不喜歡sudo make install這一步,因爲我給了我一些隨機的Makefile root訪問權限,這讓我感到不安。

然後我從ghc site下載ghc二進制發行版。請注意,我將您鏈接到了7.4.2。我聽說Mac OS X上有一些段錯誤,但我不知道細節。你應該檢查一下,或者改爲newer ghc,但請注意,有很多軟件包尚未與7.6一起修復。另外,請忽略「停止!」警告,你是真正想要非distrib GHC二進制文件的1%。

你可以只用cd命令進入GHC目錄,然後執行./configure --prefix=$HOME/local/haskell左右,其次是make install(沒有編制必要的,它只是要安裝,不進行編譯。)

在這一點上,你應該添加~/local/haskell/bin到你的路徑。 Here's我放入我的~/.zshrc的代碼,它會將所有~/local/*/bin目錄添加到您的路徑中。

然後,您可以獲得Haskell平臺,並執行相同的./configure --prefix=$HOME/local/haskell && make && make install舞蹈。此步驟需要編譯。這意味着你將需要安裝一些頭文件庫。我發現隨機的OpenGL頭文件非常煩人。

你當然也可以跳過haskell-platform,直接下載cabal-install,然後安裝你需要的東西。您應該在任何情況下都不要忘記將~/.cabal/bin添加到您的$PATH

做一個cabal update,你應該很好去。

注意:有一個重要的部分是GHC的二進制分發需要,有時可能是舊的Linux系統上的皮塔:libgmp。它與它動態鏈接,如果你在OS X上找不到有關共享libgmp的錯誤,你可以......好吧,在評論中提出這個問題,我將解釋如何到達那裏。基本上,你必須自己編譯libgmp + deps。

但我不認爲這應該是在OS X上的問題。這只是一個問題,我試過這個老夫婦的幾個舊盒子。

+0

感謝您的所有細節!如果我可以將多個標記爲正確,我會標記爲正確的。如果你所說的任何事情都證明它對工作起着至關重要的作用,我會把你轉到回答者那裏。 –