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

升级macOS到Monterey后Haskell的QuickCheck无法运行问题求助

解决macOS下Haskell QuickCheck模块歧义报错

报错说明

升级到macOS Monterey、更新命令行工具并通过cabal重装QuickCheck后,运行Haskell项目时出现如下歧义报错:

Ambiguous module name ‘Test.QuickCheck’:
      it was found in multiple packages:
      QuickCheck-2.14.2 QuickCheck-2.14.2

错误截图

问题根因

本地环境中同版本的QuickCheck包被重复注册,GHC解析模块时无法确定调用哪个版本的包。

解决步骤

  • 第一步:执行命令查看当前注册的所有QuickCheck包,确认重复条目
    ghc-pkg list QuickCheck
  • 第二步:卸载冗余的重复包,优先删除用户目录下注册的版本
    运行命令:ghc-pkg unregister --user QuickCheck-2.14.2
    如果提示存在依赖冲突无法卸载,添加强制参数:ghc-pkg unregister --user --force QuickCheck-2.14.2
    若删除用户目录包后仍存在重复,将命令中--user替换为--global删除全局冗余包即可。
  • 第三步:验证修复结果
    再次执行ghc-pkg list QuickCheck,确认仅剩下1条QuickCheck-2.14.2的条目,再运行项目代码报错就会消失。

后续规避建议

日常开发优先使用cabal项目级沙箱或stack管理项目依赖,尽量不要直接全局安装Haskell包,可避免出现依赖重复注册的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:18:03