【发布时间】:2018-09-02 07:41:07
【问题描述】:
我的 Fedora 28 系统上安装了以下 RPM 软件包:
ghc-ghc-8.2.2-66
ghc-containers-0.5.10.2-66
根据hackage,设置模块应包含在给定的 RPM 中。但是尝试import Data.Set 会导致
<no location info>: error:
Could not find module ‘Data.Set’
Perhaps you meant Data.Int (from base-4.10.1.0)
我错过了要安装的东西吗?如何检查哪些模块可用?
编辑:
$ ghc-pkg list
/usr/lib64/ghc-8.2.2/package.conf.d
base-4.10.1.0
ghc-prim-0.5.1.1
integer-gmp-1.0.1.0
rts-1.0
如何注册模块?
【问题讨论】:
-
尝试
ghc-pkg list检查是否一切正常。 -
可能你安装了“软件”,但没有在包管理器中注册。
-
我怀疑 Fedora 的
ghc-containers-0.5.10.2-66包实际上是针对与您尝试使用它的编译器不同的编译器。 Haskell 包总是针对一个特定的编译器构建的,不能与另一个编译器一起使用。大多数人根本不依赖 OS-distro 软件包,而是使用 Cabal-install 或 Stack 安装所有需要的软件包。即haskell.org/platform 或docs.haskellstack.org/en/stable/README。 -
我不知道为什么它不起作用;可能是 Fedora RPM 中的一个错误。但是,如果没有 Fedora 版本的 GHC,您可能会更好。它主要作为为 Fedora 打包的其他 Haskell 软件的编译器而存在。我建议删除它并安装堆栈。