尝试编译时找不到模块`XMonad`

问题描述 投票:2回答:1

我看到其他几个人遇到相同的问题,但是没有一个解决方案对我有用。以下命令和输出主要是我尝试过的。我正在发布1),因为我在此上停留了一段时间,并且2)我想在其他帖子上发表评论,但我没有声誉:(

我重新安装了操作系统(arch linux),仅保留了我的主文件,但是我删除了.stack,.ghc和.cabal文件夹。

yay -S xmonad xmonad-contribstack install xmonad xmonad-contribsudo ghc-pkg recache

xmonad --recompile

XMonad will use ghc to recompile, because "/home/trey/.xmonad/build" does not exist.
Error detected while loading xmonad configuration file: /home/trey/.xmonad/xmonad.hs

xmonad.hs:7:1: error:
    Could not find module `XMonad'
    There are files missing in the `xmonad-0.15' package,
    try running 'ghc-pkg check'.
    Use -v to see a list of the files searched for.
  |
7 | import XMonad
  | ^^^^^^^^^^^^^

...适用于所有xmonad相关模块

ghc-pkg check

Warning: haddock-interfaces: /usr/share/doc/xmonad/html/xmonad.haddock doesn't exist or isn't a file
Warning: haddock-html: /usr/share/doc/xmonad/html doesn't exist or isn't a directory
Warning: haddock-interfaces: /usr/share/doc/xmonad-contrib/html/xmonad-contrib.haddock doesn't exist or isn't a file
Warning: haddock-html: /usr/share/doc/xmonad-contrib/html doesn't exist or `

...返回大约800行左右的警告,但是由于某些原因它不能很好地传递,因此无法复制它们。如果确实需要查看整个输出,我将找到一个解决方案。

ghc-pkg list

/usr/lib/ghc-8.6.5/package.conf.d
    Cabal-2.4.0.1
    Glob-0.10.0
    HTTP-4000.3.14
    Only-0.1
    StateVar-1.1.1.1
    X11-1.9.1
    X11-xft-0.3.1
    aeson-1.4.6.0
    annotated-wl-pprint-0.7.0
    ansi-terminal-0.9.1
    ansi-wl-pprint-0.6.9
    array-0.5.3.0
    asn1-encoding-0.9.6
    asn1-parse-0.9.5
    asn1-types-0.3.3
    async-2.2.2
    attoparsec-0.13.2.3
    attoparsec-iso8601-1.0.1.0
    auto-update-0.1.6
    base-4.12.0.0
    base-compat-0.10.5
    base-orphans-0.8.1
    base-prelude-1.3
    base16-bytestring-0.1.1.6
    base64-bytestring-1.0.0.2
    basement-0.0.11
    bifunctors-5.5.6
    binary-0.8.6.0
    bindings-uname-0.1
    bitarray-0.0.1.1
    blaze-builder-0.4.1.0
    blaze-html-0.9.1.2
    blaze-markup-0.8.2.3
    byteable-0.1.1
    bytestring-0.10.8.2
    case-insensitive-1.2.1.0
    cereal-0.5.8.1
    clock-0.8
    cmdargs-0.10.20
    colour-2.3.5
    comonad-5.0.6
    conduit-1.3.1.2
    conduit-extra-1.3.4
    connection-0.3.1
    constraints-0.11.2
    containers-0.6.0.1
    contravariant-1.5.2
    cookie-0.4.5
    cryptohash-sha256-0.11.101.0
    cryptonite-0.26
    cryptonite-conduit-0.2.2
    data-default-0.7.1.1
    data-default-class-0.1.2.0
    data-default-instances-containers-0.0.1
    data-default-instances-dlist-0.0.1
    data-default-instances-old-locale-0.0.1
    deepseq-1.4.4.0
    digest-0.0.1.2
    directory-1.3.3.0
    distributive-0.6.1
    dlist-0.8.0.7
    easy-file-0.2.2
    echo-0.1.3
    ed25519-0.0.5.0
    edit-distance-0.2.2.1
    either-5.0.1.1
    enclosed-exceptions-1.0.3
    exceptions-0.10.3
    extensible-exceptions-0.1.1.4
    extra-1.6.18
    fast-logger-3.0.0
    file-embed-0.0.11.1
    filelock-0.1.1.4
    filepath-1.4.2.1
    fsnotify-0.3.0.1
    generic-deriving-1.12.4
    (ghc-8.6.5)
    ghc-boot-8.6.5
    ghc-boot-th-8.6.5
    ghc-compact-0.1.0.0
    ghc-heap-8.6.5
    ghc-prim-0.5.3
    ghci-8.6.5
    githash-0.1.3.3
    hackage-security-0.5.3.0
    haddock-library-1.7.0
    hashable-1.2.7.0
    haskeline-0.7.4.3
    hi-file-parser-0.1.0.0
    hinotify-0.4
    hourglass-0.2.12
    hpack-0.33.0
    hpc-0.6.0.3
    http-api-data-0.4.1.1
    http-client-0.6.4
    http-client-tls-0.3.5.3
    http-conduit-2.3.7.3
    http-download-0.1.0.0
    http-types-0.12.3
    infer-license-0.2.0
    integer-gmp-1.0.2.0
    integer-logarithms-1.0.3
    libiserv-8.6.3
    libyaml-0.1.1.1
    lifted-async-0.10.0.4
    lifted-base-0.2.3.12
    megaparsec-7.0.5
    memory-0.14.18
    microlens-0.4.11.2
    microlens-th-0.4.3.2
    mime-types-0.1.0.9
    mintty-0.1.2
    monad-control-1.0.2.3
    monad-logger-0.3.31
    monad-loops-0.4.3
    mono-traversable-1.0.13.0
    mtl-2.2.2
    mustache-2.3.0
    neat-interpolation-0.3.2.5
    network-2.8.0.0
    network-uri-2.6.1.0
    old-locale-1.0.0.7
    old-time-1.1.0.3
    open-browser-0.2.1.0
    optparse-applicative-0.14.3.0
    optparse-generic-1.3.0
    optparse-simple-0.1.1.2
    pantry-0.1.1.1
    parsec-3.1.13.0
    parser-combinators-1.2.1
    path-0.6.1
    path-io-1.4.2
    path-pieces-0.2.1
    pem-0.2.4
    persistent-2.10.4
    persistent-sqlite-2.10.5
    persistent-template-2.7.3
    pretty-1.1.3.6
    primitive-0.6.4.0
    process-1.6.5.0
    profunctors-5.5.1
    project-template-0.2.0.1
    random-1.1
    regex-applicative-0.3.3.1
    regex-applicative-text-0.1.0.1
    resolv-0.1.1.1
    resource-pool-0.2.3.2
    resourcet-1.2.2
    retry-0.8.1.0
    rio-0.1.12.0
    rio-orphans-0.1.1.0
    rio-prettyprint-0.1.0.0
    rts-1.0
    safe-0.3.18
    safe-exceptions-0.1.7.0
    scientific-0.3.6.2
    semigroupoids-5.3.3
    setlocale-1.0.0.9
    shelly-1.8.1
    silently-1.2.5.1
    socks-0.6.1
    split-0.2.3.3
    stack-2.1.3
    stm-2.5.0.0
    stm-chans-3.0.0.4
    streaming-commons-0.2.1.1
    syb-0.7.1
    system-fileio-0.3.16.4
    system-filepath-0.4.14
    tagged-0.8.6
    tar-0.5.1.1
    tar-conduit-0.3.2
    template-haskell-2.14.0.0
    temporary-1.3
    terminal-size-0.3.2.1
    terminfo-0.4.1.2
    text-1.2.3.1
    text-metrics-0.3.0
    th-abstraction-0.3.1.0
    th-expand-syns-0.4.5.0
    th-lift-0.8.0.1
    th-lift-instances-0.1.14
    th-orphans-0.13.9
    th-reify-many-0.1.9
    th-utilities-0.2.3.1
    time-1.8.0.2
    time-compat-1.9.2.2
    tls-1.4.1
    transformers-0.5.6.2
    transformers-base-0.4.5.2
    transformers-compat-0.6.5
    type-equality-1
    typed-process-0.2.6.0
    unicode-transforms-0.3.6
    unix-2.7.2.2
    unix-compat-0.5.2
    unix-time-0.4.7
    unliftio-0.2.12
    unliftio-core-0.1.2.0
    unordered-containers-0.2.10.0
    utf8-string-1.0.1.1
    uuid-types-1.0.3
    vector-0.12.0.3
    vector-algorithms-0.8.0.3
    void-0.7.3
    x509-1.7.5
    x509-store-1.6.7
    x509-system-1.6.6
    x509-validation-1.6.11
    xhtml-3000.2.2.1
    xmonad-0.15
    xmonad-contrib-0.16
    yaml-0.11.2.0
    zip-archive-0.4.1
    zlib-0.6.2.1
haskell archlinux xmonad
1个回答
0
投票

听起来像Cabal的问题-我认为Arch Linux上存在一些打包困难。

作为替代,您可以使用特定的xmonad配置手动构建Haskell项目,一旦知道正确构建,就可以创建~/.xmonad/build shell文件,并在此处触发对xmonad配置/应用程序的构建。

所以build的内容可能是:

#!/usr/bin/env bash
set -e
cd ~/MyXmonadProject/
stack build # or cabal build?
© www.soinside.com 2019 - 2024. All rights reserved.