【问题标题】:stack is unable to resolve dependencies instaling wx堆栈无法解决安装 wx 的依赖项
【发布时间】:2018-07-31 09:45:18
【问题描述】:

我正在尝试使用堆栈安装 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 而不是 stack 吗? 我使用最新的堆栈版本 1.7.1 和 lts-12.4 作为解析器。 类似的question 于 2015 年发布。

【问题讨论】:

  • wxHaskell 不是当前堆栈版本的一部分;除了解析器中的内容之外,您不应尝试使用与base(或Cabalprocess)不同的版本。您可以尝试使用--resolver lts-9.21 重新配置。 LTS 9.21 具有基础 4.10,因此只要您从额外的部门中删除与 wx 无关的所有内容,这可能会起作用
  • LTS 9.21 给出了同样的问题。猜猜是时候开始使用 cabal 了。
  • 对我来说,这适用于 lts-8.16extra-deps: - wxdirect-0.92.3.0 - wxc-0.92.3.0 - wxcore-0.92.3.0 - wx-0.92.3.0。您对 cabal 文件中的 base 没有限制吗?祝你好运,我记得我很难让它发挥作用......

标签: haskell haskell-stack wxhaskell


【解决方案1】:

Stéphane Laurent 给出的提示有效!在我的 Debian 9 (stretch) 上,我使用了以下步骤:

  1. 安装所需的库

    sudo apt-get install libwxgtk3.0-dev libwxgtk-webview3.0-dev libwxgtk-media3.0-dev
    
  2. stack new &lt;app&gt; new-template创建一个stack项目并切换到&lt;app&gt;目录

  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 文件中的依赖项列表中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-12
    • 2017-11-12
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多