为什么包默认隐藏?我怎么能“取消隐藏”呢?

问题描述 投票:9回答:2

我正在运行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
haskell packages ghc
2个回答
7
投票

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

ghc-pkg expose transformers

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

也,

ghc-pkg help

会告诉你更多有关这个计划的信息。


0
投票

使用Stack构建时,将transformers添加为package.yml文件的依赖项:

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

这为我永久解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.