Почему пакет скрыт по умолчанию?И как мне это "показать"? - PullRequest
9 голосов
/ 09 марта 2011

Я использую Ubuntu 10.10, и у меня установлен модуль transformers через пакет Ubuntu libghc6-transformers-dev.По какой-то причине этот пакет по умолчанию скрыт:

ghc --make -i./src/ src/fastcgi.hs -o myapp.fcgi

src/MyApp/Webapp.hs:6:7:
    Could not find module `Control.Monad.IO.Class':
      It is a member of the hidden package `transformers-0.2.1.0'.
      Use -v to see a list of the files searched for.

Итак, мой первый вопрос: «почему?».И второй вопрос: как правильно «показать» этот модуль (без необходимости явно указывать модуль через командную строку)?И это хорошая / плохая идея?

Обратите внимание, я могу заставить ghc компилироваться, передавая имя пакета явно, например:

ghc --make -package transformers -i./src/ src/fastcgi.hs -o myapp.fcgi

Ответы [ 2 ]

7 голосов
/ 10 марта 2011

Используйте инструмент ghc-pkg из командной строки:

ghc-pkg expose transformers

Почему он был скрыт по умолчанию, я не знаю.Это может быть что-то, что стоит обсудить с сопровождающими пакетов Ubuntu.

Кроме того,

ghc-pkg help

расскажет вам намного больше об этой программе.

0 голосов
/ 16 февраля 2019

При сборке со стеком добавьте transformers в качестве зависимости к вашему package.yml файлу:

dependencies:
- base >= 4.7 && < 5
- transformers

Это навсегда устранило проблему для меня.

...