我正在运行Ubuntu 10.10,我通过Ubuntu软件包transformers
安装了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
答案 0 :(得分:7)
使用命令行中的ghc-pkg工具:
ghc-pkg expose transformers
为什么它默认隐藏我不知道。这可能是Ubuntu软件包维护者所需要的。
另外,
ghc-pkg help
会告诉你更多有关此计划的信息。
答案 1 :(得分:0)
使用Stack进行构建时,将transformers
作为依赖项添加到package.yml
文件中:
dependencies:
- base >= 4.7 && < 5
- transformers
这对我来说是永久性的。