首页 > 解决方案 > 隐藏包(升级到 Fedora 33 后?)

问题描述

我刚刚升级到 Fedora 33,至少对于 Data.Vector 和 System.Random,我得到了类似的东西:

Prelude> import Data.Vector

<no location info>: error:
    Could not load module ‘Data.Vector’
    It is a member of the hidden package ‘vector-0.12.1.2’.
    You can run ‘:set -package vector’ to expose it.
    (Note: this unloads all the modules in the current scope.)

有任何想法吗?

编辑:我升级了另一个系统,两个模块都很好。也许是一些当地的阴谋集团配置错误?

编辑2:ghc-pkg list将两个包显示为非隐藏(即它们不在括号中)。什么是压倒一切的?

编辑 3:删除 .ghc/x86_64-linux-8.8.4/environments/default 解决了这个问题。通过查看它,并没有列出所有系统包。我需要那个吗?它是如何产生的?

编辑 4:问题似乎是cabal install --lib创建了一个不包括所有系统包的默认环境。我会提交一个错误...

标签: haskellfedoraghc

解决方案


我不知道根本原因,但我会警告不要ghci在现代 Haskell 安装中使用 bare。相反,我建议cabal v2-repl --build-depends vector确保vector加载兼容的包。


推荐阅读