EclipseFG не ищет установленные пользователем модули
Я только что установил EclipseFP и сейчас пытаюсь загрузить модуль в GHCi. Проблема в том, что GHCi не загружает библиотеки, установленные cabal, на которые ссылается мой модуль. После того, как я установил -v в GHCi и запустил:r, похоже, что GHCi ищет только библиотеки, установленные глобально, а не библиотеки, установленные для локального пользователя:
Could not find module `Text.ParserCombinators.Parsec'
There are files missing in the `parsec-3.1.3' package,
try running 'ghc-pkg check'.
Locations searched:
Text/ParserCombinators/Parsec.hs
Text/ParserCombinators/Parsec.lhs
/Library/Haskell/ghc-7.6.3/lib/parsec-3.1.3/lib/Text/ParserCombinators/Parsec.hi
Однако, когда я запускаю GHCi в терминале или через Haskell-Mode в emacs, все работает просто отлично!
Мне интересно, что-то не так с моей конфигурацией в EclipseFP или я могу заставить GHCi также искать локальные пользовательские модули.
Кстати, я уже пробовал опцию -i, чтобы передать локальный путь поиска в CHCi
-i~/Library/Haskell/ghc-7.6.3/lib/
но, очевидно, GHCi ищет только исходные файлы (например, Parsec.hs и Parsec.lhs), но не интерфейсные файлы (Parsec.hi) по указанному пути.
Я был бы очень признателен, если бы вы могли помочь мне испытать радость программирования на Haskell в Eclipse!
Спасибо!
1 ответ
В Eclipse была создана конфигурация прогона для вашего запуска GHCi на вашем модуле. Это даст вам точные параметры, которые передаются в GHCi. Он должен ссылаться на пользовательский пакет db и на все пакеты, которые нужны вашему модулю (убедитесь, что в файле Cabal имеются соответствующие зависимости). EclipseFP по умолчанию устанавливает пакеты в пользовательскую базу данных, поэтому обычно это работает нормально. Вам не нужно добавлять определенные каталоги в GHCi в EclipseFP.