堆栈无法解决安装wx的依赖项

时间:2018-07-31 09:45:19

标签: haskell haskell-stack wxhaskell

我正在尝试使用堆栈安装wx。我没有在全球范围内安装Haskell,而是使用stack new <app> new-template创建一个新项目。接下来,在目录中运行stack install wx并收到错误消息:

In the dependencies for wx-0.92.3.0:
    wxcore must match >=0.92, but the stack configuration has no specified
           version  (latest matching version is 0.92.3.0)

按照建议的操作并重复运行stack install wx几次后,额外提示列表如下所示:

- wxcore-0.92.3.0
- wxc-0.92.3.0
- wxdirect-0.92.3.0
- Cabal-1.24.2.0
- process-1.4.3.0
- base-4.10.1.0

这时,堆栈抱怨:

In the dependencies for process-1.4.3.0:
    base-4.11.1.0 from stack configuration does not match >=4.4 && <4.11 
                  (latest matching version is 4.10.1.0)

并建议再次添加base-4.10.1.0,但已经存在了。

问:那我应该如何安装wx?

让wxHaskell运行真的很难吗?我应该开始使用cabal代替堆叠吗? 我使用最新的堆栈版本1.7.1和lts-12.4作为解析器。 早在2015年就发布了类似的question

1 个答案:

答案 0 :(得分:0)

Stéphane Laurent给出的提示有效!在我的Debian 9(拉伸)上,我执行了以下步骤:

  1. 安装所需的库

    sudo apt-get install libwxgtk3.0-dev libwxgtk-webview3.0-dev libwxgtk-media3.0-dev
    
  2. 使用stack new <app> new-template创建一个堆栈项目,并切换到<app>目录

  3. stack.yaml文件进行以下更改:

    resolver: lts-8.16
    
    extra-deps:
    - wxdirect-0.92.3.0
    - wxc-0.92.3.0
    - wxcore-0.92.3.0
    - wx-0.92.3.0
    
  4. 运行stack install wx并耐心等待!

  5. - wx添加到package.yaml文件中的依赖项列表中