每当xmonad启动、重新启动或重新编译时,我都会收到一条xmessage:
xmonad.hs:1:8:
Could not find module `XMonad'
Perhaps you meant
Monad (needs flag -package haskell98-2.0.0.2)
CgMonad (needs flag -package ghc-7.6.3)
DsMonad (needs flag -package ghc-7.6.3)
Use -v to see a list of the files searched for这并不能阻止它的启动,但我只看到系统重新启动时对xmonad或xmobar设置的更新。我现在的xmonad.hs只是
import XMonad
main = xmonad defaultConfig它仍然会产生错误。任何导入其他模块的尝试都会产生类似的结果。我已经从拱形存储库安装了xmonad和xmonad-contrib,所以模块应该在ghc路径中,对吗?我试着从Cabal重新安装软件包,就像其他一些消息来源所建议的那样,但是它变成了一个完整的snafu,所以我回到了Arch repos,这应该是可行的。不知从哪里出发,任何帮助都将不胜感激。
编辑:ghc-pkg list xmonad返回
/usr/lib/ghc-7.6.3/packag.conf.d
xmonad-0.11
/home/decalis/.ghc/x86_64-linux-7.6.3/package.conf.dghc-pkg check输出在这里:http://pastebin.com/BsCPMn8M。在看到这个问题之后,问题变得更清楚了,但我仍然不明白为什么它要在~/.cabal中查找,因为所有的包及其依赖都是由pacman从Arch repos中解决的。
发布于 2014-03-14 22:09:56
在这种情况下,首先要尝试的是“从头开始”,即忘记过去可能安装的所有本地包。
为此,擦除(或重命名/移动)ghc的包数据库,它位于~/.ghc/$arch-$os-$ghcver (如~/.ghc/i386-linux-7.6.3)下。或者干脆删除~/.ghc。
发布于 2017-10-25 14:55:19
对我来说,解决方案是运行ghc-pkg recache,因为ghc缓存由于某些原因而不同步。在清除整个ghc数据库之前,值得一试。
https://stackoverflow.com/questions/22390858
复制相似问题