haskell - 隐藏包(升级到 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
创建了一个不包括所有系统包的默认环境。我会提交一个错误...
解决方案
我不知道根本原因,但我会警告不要ghci
在现代 Haskell 安装中使用 bare。相反,我建议cabal v2-repl --build-depends vector
确保vector
加载兼容的包。
推荐阅读
- java - Java Api Callbacks 在 dotnet 框架 4.5 及更高版本上崩溃
- ssl - 如何在kafka集群中启用多个监听器
- c# - Xamarin Forms 绑定来自 Resources/Drawable 文件夹的图像
- mysql - node、express、mysql更新多行不同的值数组
- kubernetes - 将 Kubernetes Kind 中容器的 sysctl 列入白名单
- docker - Docker nginx / 坏网关:使用 docker-compose 的多个应用程序
- ember.js - Ember 数据中的更改不显示 HTML 中的实时更改
- c# - 线程控制台应用程序
- c++ - 类模板部分特化中的转换
- android - 如何触发 build.gradle 并将新的依赖项下载到 gradle 缓存