You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装QuickCheck后Prelude模块无法加载的解决求助

解决GHCi中Prelude无法加载(base包被隐藏)的问题

临时应急方案

  • 在当前GHCi会话中执行:
    :set -package base
    
    执行后需要重新导入所需模块(比如import Test.QuickCheck),因为这个操作会清空当前作用域的所有已加载模块。

永久解决方法

1. 使用项目管理工具(推荐)

如果用Cabal:

  • 确保项目的.cabal文件的build-depends字段包含正确的依赖:
    build-depends:
        base >=4.18 && <4.19,
        QuickCheck >=2.14
    
  • 运行cabal repl启动GHCi,Cabal会自动配置正确的包环境,无需手动设置包可见性。

如果用Stack:

  • 确认stack.yaml中的resolver对应GHC 9.6.2(比如匹配的lts版本)。
  • 运行stack repl启动GHCi,Stack会自动管理依赖包的可见性。

2. 修改GHCi全局配置

  • 在用户主目录下创建或编辑~/.ghci文件,添加一行:
    :set -package base
    
    这样每次启动GHCi都会自动加载base包。注意:这种全局配置可能会影响其他项目,若不同项目依赖不同版本的base,建议优先用项目管理工具隔离环境。

额外排查步骤

  • 查看base包的状态:
    ghc-pkg list base
    
    如果输出中base-4.18.0.0标记为hidden,可以执行以下命令暴露它:
    ghc-pkg expose base-4.18.0.0
    
    但不建议随意修改全局包状态,优先通过项目管理工具解决。

内容的提问来源于stack exchange,提问作者diegog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 16:42:07