【问题标题】:How can I unhide ghc library using runhaskell如何使用 runhaskell 取消隐藏 ghc 库
【发布时间】:2015-12-03 11:02:40
【问题描述】:

我正在使用runhaskell 构建简单的脚本,并尝试使用来自ghc-7.10.2FastString。简单地说:

import FastString

main = putStrLn "Hello SO"

使用runhaskell Main.hs 运行它会导致错误:

Main.hs:1:8:
    Could not find module ‘FastString’
    It is a member of the hidden package ‘ghc-7.10.2’.
    Use -v to see a list of the files searched for.

我知道我可以使用cabal 构建它并将ghc 指定为依赖项,但我确实需要使用runhaskell 来构建它。

如何使用runhaskell 取消隐藏 ghc 库?

【问题讨论】:

    标签: haskell ghc runhaskell


    【解决方案1】:

    TL;DR:

    $ ghc-pkg expose ghc
    

    嗯,runhaskell 基本上是runghc 的包装,runghc 基本上是ghc。它们都遵循相同的规则:它们只能从您配置的数据库中导入 exposed 包。

    使用ghc-pkg describe {package-name},可以得到某个包的信息。这里重要的字段是exposed

    $ ghc-pkg describe ghc | grep expose
    exposed: False
    exposed-modules:
    

    如您所见,包没有暴露(因此它是隐藏的)。使用ghc-pkg expose,您可以取消隐藏它:

    $ ghc-pkg expose ghc
    

    请记住,如果您要更改系统范围的软件包数据库的设置,则需要权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-19
      • 2016-07-08
      • 2019-10-04
      • 1970-01-01
      • 2012-12-15
      • 2020-02-21
      • 2013-05-24
      • 2021-11-15
      相关资源
      最近更新 更多