2010-11-13 3 views
5

Я новичок в Haskell. Почему, когда я пытаюсь использовать Days из Data.Time я получаю эту ошибку:Импорт модулей Haskell

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. 

Я импортируя Data.List и Control.Monad, и ни дает мне сообщение об ошибке, но код import Data.Time делает.

Что мне не хватает?

Спасибо за помощь!

EDIT: Я получаю подобное сообщение об ошибке, когда я использую: import Directory

Спасибо, ребята, ваши ответы меня на пути!

+2

Из сообщения об ошибке я предполагаю, что вы используете cabal для создания своего проекта. В этом случае вам нужно указать, от каких пакетов зависит ваш проект в своем файле. Я думаю, что синтаксис - это нечто вроде «build-depends: time, directory»; Я уверен, что кто-то здесь будет знать точный синтаксис, если это не так. –

+0

Я использую Лексу. Может быть, это использование Cabal за кулисами, и мне нужно вручную настроить сборку ??? –

ответ

10

Запустите Leksah с помощью этого проекта, откройте меню пакета и выберите «отредактировать пакет». Теперь выберите «зависимости» и добавьте нужную вам зависимость (в вашем случае time). Вы также можете выбрать версию.

PS: Не забудьте нажать кнопку «сохранить» после этого. (Я думаю, что это неудача дизайна ...).

4

Редактируйте проекты .cabal файл, обычно в верхнем каталоге с именем ProjectName.cabal и найдите строки с «build-depends:» и добавьте «время» в этот список. Нет необходимости в Leksah, если вы уже не используете его.

EDIT: Для того, чтобы ответить на ваш вопрос «почему сейчас, а не с модулем X»

Data.Time находится в time пакет, который, очевидно, не входит в ваши зависимостей сборки. Аналогичная история для модуля Directory. Вы не получаете эти ошибки с Data.List или Control.Monad, потому что они являются частью пакета base, на который я ставлю, в ваших сборках.

На стороне примечания, стоит потратить время, чтобы узнать, какие модули находятся в base и какую функциональность предоставляют эти модули. База довольно большая и очень полезная.

 Смежные вопросы

  • Нет связанных вопросов^_^