修改项目后cabal install报错找不到xx.hs,如何排查及获取详情?
排查
xx.hs依赖来源与位置的方法 - 检查项目根目录的
.cabal配置文件:全局搜索xx.hs字符串,重点看library/executable段的exposed-modules、other-modules、hs-source-dirs,以及extra-source-files列表——这些地方很可能残留了对该文件的引用。 - 清理Cabal构建缓存:执行
cabal clean命令,或者直接删除项目根目录的dist-newstyle文件夹,旧缓存里的过期配置可能导致Cabal仍尝试寻找已删除的文件。 - 检查本地依赖包:如果项目依赖了本地开发的其他Haskell包,逐个查看这些依赖包的
.cabal文件,确认是否有对xx.hs的引用。 - 查看详细构建日志:执行
cabal configure -v3,通过 verbose 日志定位Cabal触发文件检查的具体环节,比如是处理哪个包的配置、哪个构建阶段需要该文件。
完成安装的解决步骤
- 根据上面的排查结果,删掉所有
.cabal文件、cabal.project或stack.yaml中涉及xx.hs的配置条目。 - 再次执行
cabal clean确保缓存完全清理。 - 先运行
cabal configure验证配置合法性,确认无错误后执行cabal install。
内容的提问来源于stack exchange,提问作者user855443
相关产品推荐
相关产品推荐

