执行cabal update后无法加载隐藏包模块求助
解决方案
启动ghci时直接指定暴露目标包
修改启动命令,把需要的包直接加入参数:$ ghci -package-db ~/.cabal/store/ghc-8.10.7/package.db -package monadIO如果还有其他类似无法加载的包(比如System.Random所属的包),继续追加
-package 包名即可。调整环境文件强制加载指定包版本
在你提供的环境文件末尾添加对应包的package-id:clear-package-db global-package-db package-db /home/surya/.cabal/store/ghc-8.10.7/package.db package-id ghc-8.10.7 package-id bytestring-0.10.12.0 package-id monadIO-0.11.1.0 ...保存后启动ghci时,若该文件是默认的
.cabal-environment,直接启动即可;否则用ghci --environment-file 你的环境文件名加载。改用cabal repl自动管理环境
放弃手动指定package-db的方式,直接在项目根目录运行:$ cabal replcabal会自动读取项目cabal配置,构建并加载正确的依赖环境,无需手动处理包路径和暴露问题。
重置项目依赖缓存
如果以上方法无效,先删除项目的构建缓存:$ rm -rf dist-newstyle然后重新构建依赖并启动repl:
$ cabal build && cabal repl
内容的提问来源于stack exchange,提问作者user2419509
相关产品推荐
相关产品推荐

