重装GHC后Cabal安装库出现ghc-boot依赖冲突问题求助
解决重装GHC后Cabal依赖冲突的问题
从报错信息看,核心冲突是ghc-boot 9.2.5要求directory包版本为1.3.6.2,但你的环境里被强制要求使用directory 1.3.7.1,导致依赖链断裂。以下是具体解决步骤:
1. 彻底清理Cabal全局状态与缓存
旧的依赖缓存和全局状态是冲突根源,直接清除重置:
- 执行命令清理项目级缓存:
cabal clean - 删除Windows下Cabal和GHC的全局配置目录:
- 打开文件资源管理器,输入
%APPDATA%\cabal,删除整个文件夹 - 再输入
%APPDATA%\ghc,同样删除整个文件夹
注:如果有自定义的Cabal配置文件,提前备份再删除
- 打开文件资源管理器,输入
2. 更新Cabal包索引
重新同步最新的包版本信息,确保Cabal能获取到兼容的依赖组合:
cabal update
3. 确保Cabal版本与GHC匹配
不同GHC版本对应特定的Cabal兼容版本,GHC 9.2.5推荐搭配Cabal 3.6.x。如果你之前手动安装的Cabal版本不匹配,重新安装对应版本:
cabal install cabal-install-3.6.2.0
4. 优先使用项目级依赖(推荐)
避免用--lib全局安装包,全局依赖很容易因GHC版本变更出现冲突。改用项目级环境:
- 创建新项目目录并初始化:
mkdir my-new-project cd my-new-project cabal init --interactive - 初始化过程中,将
optparse-applicative添加到项目依赖列表 - 执行构建命令,Cabal会自动为该项目拉取兼容的依赖:
cabal build
5. 临时全局安装方案(不推荐长期使用)
如果必须全局安装,可以强制指定与ghc-boot兼容的directory版本:
cabal install optparse-applicative --lib directory==1.3.6.2
内容的提问来源于stack exchange,提问作者someStudentCS
相关产品推荐
相关产品推荐

