2015-07-28 7 views
10

Ich habe bemerkt, dass ich eine alte Version von GHC auf Ubuntu 15.04 laufen lasse. Kann ich einen neueren bekommen, ohne ihn aus der Quelle kompilieren zu müssen?Wie kann ich eine aktuelle Version des Haskell GHC-Compilers unter Ubuntu installieren?

+2

Wenn ['ghc-7.8' von der Haskell-Plattform] (https://www.haskell.org/platform/) für Ihren Geschmack zu alt ist, können Sie [7.10 Binärdateien direkt von der GHC-Seite] (https : //www.haskell.org/ghc/download_ghc_7_10_1). – leftaroundabout

+1

Wenn Sie mit Stackage vertraut sind und sich mit '.cabal' Dateien wohlfühlen, würde ich' stack' verwenden. Anweisungen sind [hier] (https://github.com/commercialhaskell/stack/wiki/Downloads) – ErikR

+0

@leftaroundabout, ich habe 7.6.3, und wenn ich versuche 'sudo apt-get installieren haskell-platoform', heißt es' Haskell-Plattform ist bereits die neueste Version.' – Jono

Antwort

5

Es gibt eine PPA mit vordefinierten Binärdateien für viele aktuelle Versionen von GHC.

  1. Fügen Sie folgendes zu Ihrem /etc/apt/sources.list.d/extra-ppas.list Datei:

    deb http://ppa.launchpad.net/hvr/ghc/ubuntu vivid main deb-src http://ppa.launchpad.net/hvr/ghc/ubuntu vivid main

  2. eine der Versionen von GHC PPA installieren. Sie heißen tool-version, während diejenigen, die mit Ubuntu kommen, einfach tool heißen. Das aktuellste zum Zeitpunkt dieses Schreibens ist zum Beispiel ghc-7.10.2.

  3. GHC wird unter /opt/ghc/<version>/bin installiert. Fügen Sie diesen Ordner zu Ihrem Pfad hinzu, um diese Version von GHC zu verwenden.

+0

Sie können die Binärdistribution auch hier herunterladen: https: //www.haskell .org/ghc/download_ghc_7_10_1 # x86_64linux. Dadurch können Sie mehrere Versionen von GHC auf Ihrem System haben. –

+0

deinstalliert dies die installierte Version vor der Installation des neuen? –

+0

PPA-Seite mit mehr Informationen: https://launchpad.net/~hvr/+archive/ubuntu/ghc –

11

Ich empfehle dringend, Stack zu verwenden. Es hat mein Leben 110% einfacher gemacht und löst dein Problem.

Sie können GHC 7.8 mit 1.106 Pakete, die nicht brechen wird (keine Kabale Hölle, keine Kabale Sandbox-Marathons installieren) oder Sie können GHC 7.10 mit 1028 Paketen erhalten - source.

Sie können sogar verschiedene Versionen von GHC in verschiedenen Projekten ausführen! Überprüfen Sie die FAQ für Details. Um zu installieren, wenn Sie auf einem Ubuntu-System sind, folgen Sie der installation docs.

bearbeiten: Gerade versucht ein neues stack Projekt mit GHC 7.10 und es war ein bisschen mehr, um es zu schaffen, als zunächst erwartet. Nach stack Installation werden Sie laufen:

stack new 

Dann müssen Sie Ihre stack.yaml, bearbeiten und die Standard-Resolver von

resolver: lts-2.19 

ändern:

resolver: ghc-7.10 

Dann können Sie Lauf:

stack setup 

Oder

stack build --install-ghc # to build as well! 

und Sie erhalten ein neues stack Projekt mit GHC 7.10 haben. Referenz für stack.yaml ist here.

+0

Ist 'stack setup' nicht darauf ausgerichtet, den Setup-Job auszuführen, nachdem etwas in' stack.yaml' geändert wurde, einschließlich der ghc-Version? – foki

+0

@foki 'stack build --install-ghc' installiert GHC und erstellt Ihr Projekt, während' stack setup' nur GHC installiert. Ich nehme an, ich sollte meine Antwort ändern, um genauer zu sein. Wir wollen nur den Compiler in dieser Frage. EDIT: Oh warte, ich mach beides;) Danke! –