2013-10-29 6 views
6

Ich bin Quick Check Import finden konnte:nicht an der Spitze meiner Dateimodul `Test.QuickCheck‘ auf Ubuntu

import Test.QuickCheck 
... 

Kompilieren Sie die Datei mit ghc Lab1.hs gibt mir diese Fehlermeldung:

Lab1.hs:1:8: 
    Could not find module `Test.QuickCheck' 
    Use -v to see a list of the files searched for. 
Failed, modules loaded: none. 

Ich habe eine Suche nach apt-caches nach quickcheck versucht und eine Liste der Pakete erhalten. Versucht, libghc-test-framework-dev zu installieren, nur weil ich dachte, der Name schien angemessen, aber der Fehler bleibt bestehen.

Wie installiere ich das QuickCheck-Modul?

+1

Wissen Debians Benennungsschema, ich würde vermuten, 'libghc-QuickCheck- dev', aber ich habe keine solche Maschine zur Kontrolle. –

+1

Ich kenne Debians von Menschen betriebenes RPC-Schema (Website), habe jedoch [libghc-quickcheck2-dev] (http://packages.debian.org/wheezy/libghc-quickcheck2-dev) gefunden, habe es aber nicht Eine solche Maschine ist praktisch, um sie zu installieren. –

Antwort

15

Wenn Sie daran interessiert sind, Ihre Haskell-Pakete außerhalb Ihres Paketmanagers zu verwalten (was von Vorteil sein kann, wenn Sie die neuesten Versionen der Dinge verwenden möchten), ist Cabal der Haskell-Paketmanager

apt-get install cabal-install 
cabal update 
cabal install QuickCheck 

, um QuickCheck weltweit verfügbar zu machen.

Was in letzter Zeit mehr empfohlen wird, ist jedoch die Verwendung der sandbox Funktion von Cabal. Dies ist sehr ähnlich zu Pythons virtualenv oder Rubys bundle, wenn Sie mit denen besser vertraut sind. Um dies zu tun, müssen Sie ein „cabalized“ Projekt

cabal init  # in an empty directory 

erstellen und setzten dann QuickCheck (und deine andere Bibliotheksabhängigkeiten) im build-depends: Schlitz der erzeugten <folder name>.cabal Datei.

Nachdem Sie dies getan haben, verwenden Sie Cabal für alle weiteren Paketverwaltungs- und Kompilierungsbefehle.

cabal sandbox init     # creates your local package sandbox 
cabal install --only-dependencies # gets and installs all the build-dependencies 

cabal repl       # starts up GHCi in the local sandbox 
cabal build       # configures and builds the local project 

cabal sandbox delete    # cleans up the sandbox 
+0

Ich habe: 'sudo apt-get installiere cabal-install' und' cabal update' und könnte dann mit 'cabal installiere QuickCheck' wie oben fortfahren. Das Sandbox-Ding war in meinem Fall nicht angebracht, aber es könnte weiter nützlich sein. Vielen Dank! – Arild

+1

Cool, ich bin froh, dass es gut geklappt hat! Ich werde diese Schritte der Antwort für zukünftige Besucher hinzufügen, wenn es Ihnen nichts ausmacht. –

1

In Ubuntu 14.04.1:

sudo apt-get install libghc-quickcheck2-dev 

Bevor:

> :m +Test.QuickCheck 

<no location info>: 
    Could not find module `Test.QuickCheck' 
    It is not a module in the current program, or in any known package. 

Nach:

Prelude> :m +Test.QuickCheck 
Prelude Test.QuickCheck> 
+0

Dies funktioniert nicht ... – alinsoar

+0

Versucht es gerade jetzt auf einem Ubuntu: 14.04 Docker Bild mit 'Docker Run -i -t --rm Ubuntu: 14.04', und es scheint immer noch zu funktionieren. Nicht sicher, wie man Code in einem Kommentar formatiert, aber die Schritte waren: 'apt-get update; apt-get install libghc-quickcheck2-dev; ghci 'gefolgt von': m + Test.QuickCheck' –

+0

Ich habe es geschafft, quickcheck mit cabal zu installieren und zu verwenden. Anfangs war es nur mit apt-get möglich. Wie auch immer, es funktioniert jetzt für mich. – alinsoar

Verwandte Themen