首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xmonad找不到模块XMonad (或任何其他)

Xmonad找不到模块XMonad (或任何其他)
EN

Stack Overflow用户
提问于 2014-03-13 21:03:02
回答 2查看 11K关注 0票数 12

每当xmonad启动、重新启动或重新编译时,我都会收到一条xmessage:

代码语言:javascript
复制
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只是

代码语言:javascript
复制
import XMonad

main = xmonad defaultConfig

它仍然会产生错误。任何导入其他模块的尝试都会产生类似的结果。我已经从拱形存储库安装了xmonadxmonad-contrib,所以模块应该在ghc路径中,对吗?我试着从Cabal重新安装软件包,就像其他一些消息来源所建议的那样,但是它变成了一个完整的snafu,所以我回到了Arch repos,这应该是可行的。不知从哪里出发,任何帮助都将不胜感激。

编辑:ghc-pkg list xmonad返回

代码语言:javascript
复制
/usr/lib/ghc-7.6.3/packag.conf.d
    xmonad-0.11
/home/decalis/.ghc/x86_64-linux-7.6.3/package.conf.d

ghc-pkg check输出在这里:http://pastebin.com/BsCPMn8M。在看到这个问题之后,问题变得更清楚了,但我仍然不明白为什么它要在~/.cabal中查找,因为所有的包及其依赖都是由pacman从Arch repos中解决的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-14 22:09:56

在这种情况下,首先要尝试的是“从头开始”,即忘记过去可能安装的所有本地包。

为此,擦除(或重命名/移动)ghc的包数据库,它位于~/.ghc/$arch-$os-$ghcver (如~/.ghc/i386-linux-7.6.3)下。或者干脆删除~/.ghc

票数 6
EN

Stack Overflow用户

发布于 2017-10-25 14:55:19

对我来说,解决方案是运行ghc-pkg recache,因为ghc缓存由于某些原因而不同步。在清除整个ghc数据库之前,值得一试。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22390858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档