繁体   English   中英

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

[英]Xmonad can't find module XMonad (or any other)

每当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

它仍然会产生错误。 任何导入其他模块的尝试都会产生类似的结果 我从Arch存储库安装了xmonadxmonad-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.d

ghc-pkg check输出在这里: http//pastebin.com/BsCPMn8M 看到这个问题之后,这个问题会更清楚一点,但我仍然不明白为什么当所有的软件包及其依赖关系都是由pacman的Arch repos解决的时候,它正在查看~/.cabal

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

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

对我来说,解决方案是运行ghc-pkg recache因为ghc ghc-pkg recache由于某种原因刚刚不同步。 在擦除整个ghc数据库之前,值得尝试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM