cabal安装软件问题

在尝试使用cabal安装matrix库并使用--lib参数后,遇到ghci导入base库出错的问题。通过expose包和修改配置文件未解决问题。最终发现是全局package-db配置导致的问题,删除特定配置文件后恢复正常。
摘要由CSDN通过智能技术生成

cabal安装软件问题

安装matrix

尝试用matrix库时,使用cabal命令 cabal install matrix 安装matrix,cabal提醒我使用–lib参数,也就是 cabal install --lib matrix

问题

命令执行完之后ghci报错了,所有的base里面的库都不能import了,只能按照提示 :set -package base后才能使用

ghci> import Data.Char

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

ghci还能用,但是 visual studio code,也全部报错,无法编译运行。

尝试expose包,也不见效

ghc-pkg expose base

查看包的状态,已经是expose了

ghc-pkg describe base

问题解决

从 bing/baidu 上搜了很久也没有找到对策,突然想是不是–lib参数导致的,然后执行

cabal install --lib base

果然 Data包都能用了,但是System下的包还是不能用。猜想一定是配置被改变了。然后查找cabal的帮助,寻找cabal的配置路径

The global configuration file for cabal-install is ~/.cabal/config.

到windows的用户目录下没有找到这个配置文件,然后继续翻找用户下的文件,终于找到一个

C:\Users\admin\AppData\Roaming\ghc\x86_64-mingw32-9.6.1\environments\default

clear-package-db
global-package-db
package-db D:\tools\cabal\store\ghc-9.6.1\package.db
package-id matrix-0.3.6.1-859b3edf890724f232c6ee70f3d0bc7f00e4679d
package-id base-4.18.0.0
package-id directory-1.3.8.1
package-id filepath-1.4.100.1
package-id mtl-2.3.1

把这个文件删除后,ghci和vsc都不报错了

参考

ghc-pkg

cabal

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值