2016-02-12 4 views
-2

я не могу получить модуль "GHC.SrcLoc" в пакете "srcloc" на Ubuntu Haskell ...Haskell не может импортировать GHC.SrcLoc

- "импорт" работает на Windows, но не на Ubuntu 14.04

Could not find GHC.SrcLoc

- модуль название "GHC.SrcLoc"

GHC.SrcLoc documentation

- Кабал построить ошибку ниже

enter image description here

Take 2: пытались добавить пакет "srcloc" в Cabal зависимостей

enter image description here

^Добавление "srcloc" зависимостей вызывает "междусобойчик конфигурации не удалось".^

GHCI версия ...

$ ghci --version 
The Glorious Glasgow Haskell Compilation System, version 7.6.3 

Пожалуйста, помогите

https://hackage.haskell.org/package/base-4.8.2.0/docs/GHC-SrcLoc.html

Мой Haskell код ...

https://github.com/JohnReedLOL/HaskellPrintDebugger

* Попытка # 1 *

:~/IdeaProjects/IntelliJHaskellPrintDebugger$ cabal install srcloc 
Resolving dependencies... 
All the requested packages are already installed: 
srcloc-0.5.1.0 
Use --reinstall if you want to reinstall anyway. 

* Попытка # 2 *

- Пробовал заменить "импорт GHC.SrcLoc" с "импорта Data.Loc", но не удалось.

enter image description here

- Пробовал добавить "srcLock", чтобы "строить-зависит" в .cabal, но потерпел неудачу.

enter image description here

^Безнадежный

+0

'GHC.SrcLoc' - это модуль в * базовом * пакете, который появляется только в последних версиях GHC. Чтобы использовать его, вам придется обновить GHC. Импорт, вероятно, работает на Windows, а не на Ubuntu, потому что вы, вероятно, получили последнюю версию GHC на окнах, тогда как «официальная» версия Ubuntu значительно отстает. Если вы хотите использовать * srcloc * pacakge, вы должны импортировать ['Data.Loc'] (http://hackage.haskell.org/package/srcloc), * not *' GHC.SrcLoc'. – user2407038

+0

@ user2407038 Я пробовал это (Attemp # 2), и он говорит: «Не удалось найти модуль« Data.Loc ». Это такая боль, потому что на Java всегда есть трассировка стека, и мне приходится преодолевать всю эту проблему, чтобы получить дружественные трассировки трассировки IDE. –

+0

@MichaelLafayette: Хотя эти скриншоты делают ваш вопрос ярким, они не предоставляют необходимую информацию. Какой GHC вы используете в Windows? Какая версия srcloc установлена ​​на любом из них? Какую версию кабала вы используете? – Zeta

ответ

3

С Data.SrcLoc является частью распределения GHC, и он не был добавлен до тех пор, пока (я считаю) GHC 7.10.1, он не будет существовать в GHC 7.6.3. Если вы установите последнюю версию GHC, это должно работать нормально.

Пакет, который вы видите, который называется srcloc, по-видимому, не связан с тем, что вы хотите, и не предоставляет модуль GHC.SrcLoc. Модуль GHC.SrcLoc вместо этого предоставляется стандартной библиотекой GHC base, которая включена в (и требует) более новую версию GHC.

Более новые версии GHC также включают в себя множество других приятных функций, которые не имеют 7.6.3 (который был выпущен более 2 лет назад).

Вы также упомянули трассировку стека, поэтому вас может заинтересовать this.

0

Вы должны установить srcloc пакет; в простом случае, когда вы не используете песочницы, это делается путем запуска cabal install srcloc в командной строке.

+0

Я пробовал это, как из моего домашнего каталога, так и из каталога проектов плагина IntelliJ. Все еще получение «Ошибка: (11, 8) ghc: Не удалось найти модуль' GHC.SrcLoc ' Используйте -v, чтобы просмотреть список файлов, которые вы искали. " on "import GHC.SrcLoc" –

+0

:-(Я так много работал над этим маленьким инструментом, чтобы мои заявления о печати отображались как гиперссылки в среде IDE, и это даже не сработает. –

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