Importieren von Haskell-Module
Frage
Ich bin neu in Haskell. Wie kommt es, wenn ich versuche Days
von Data.Time
zu verwenden ich diesen Fehler:
Could not find module `Data.Time':
It is a member of the hidden package `time-1.1.4'.
Perhaps you need to add `time' to the build-depends in your .cabal file.
Ich bin den Import Data.List und Control.Monad, und keiner gibt mir diese Fehlermeldung, aber der Code import Data.Time
tut.
Was bin ich?
Danke für die Hilfe!
EDIT: Ich bin eine ähnliche Fehlermeldung erhalten, wenn ich benutze: import Directory
Danke Jungs, Ihre Antworten haben mich auf dem richtigen Weg!
Lösung
Feuer up Leksah mit diesem Projekt, öffnen Sie das Paket-Menü und wählen Sie „Bearbeiten Paket“ von ihm. Nun wählen Sie „Abhängigkeiten“ und fügen Sie die Abhängigkeit Sie benötigen (in Ihrem Fall time
). Sie können auch eine Version wählen.
PS: Vergessen Sie nicht die Schaltfläche „Speichern“ danach zu treffen. (Ich denke, das ein Konstruktionsfehler ist ...).
Andere Tipps
Just bearbeitet die Projekte .cabal
Datei, in der Regel im oberen Verzeichnis mit dem Namen ProjectName.cabal
und suchen Sie die Zeile (n) mit „build-depends“ und „Zeit“ zu dieser Liste hinzuzufügen. Keine Notwendigkeit für Leksah, wenn Sie es bereits verwenden.
EDIT: Um Ihre Frage nach dem „Warum jetzt und nicht mit Modul X“ beantworten
ist Data.Time im time
-Paket, das offenbar nicht in Ihren Build-Abhängigkeiten enthalten ist. Ähnliches gilt für das Directory
Modul. Sie haben nicht diese Fehler mit Data.List
oder Control.Monad
erhalten, weil sie Teil des base
Pakets sind, die ich Wette in Ihrem Build-deps ist werden.
Auf einer Seite zur Kenntnis, es lohnt sich die Zeit nehmen, zu lernen, was Module sind in base
und welche Funktionalität die Module bereitzustellen. Basis ist ziemlich groß und sehr nützlich.