haskell - 为什么默认隐藏包?我怎么能 "unhide"呢?

标签 haskell packages ghc

我正在运行 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

最佳答案

从命令行使用 ghc-pkg 工具:

ghc-pkg expose transformers

为什么它默认隐藏我不知道。这可能是 Ubuntu 软件包维护者需要解决的问题。

还,
ghc-pkg help

会告诉你更多关于这个程序的信息。

关于haskell - 为什么默认隐藏包?我怎么能 "unhide"呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5252066/

相关文章:

r - 在 Ubuntu 上找不到 RODBC 包中的 odbcConnectExcel 函数

haskell - seq 函数和严格性

haskell - GetOpt - 2. ArgDescr 的参数?

haskell - Haskell 中的点运算符 : need more explanation

Haskell 使用带有 Parsec 的累加器进行解析

haskell - 为什么 GHC 不对 "No match in record selector"异常给出编译时警告?

r - 使用 .fortran() 编写调用 Fortran 库的 R 包

sql - 有没有办法命名 PL/SQL 包?

haskell - 如何在 GHC 中仅为旧版本定义功能?

haskell - GADT 是何时在 GHC 中引入的?