1

我有一个大而复杂的包,它可以在两台计算机上编译,但不能在第三台计算机上编译(文件由 zip 和 scp 移动)。错误信息是

In the dependencies for leksah-0.17.0.0:
    process-1.4.2.0 from stack configuration does not match >=1.4.3.0 && <1.7
                    (latest matching version is 1.6.4.0)
needed since leksah is a build target.

我找不到 process-1.4.2.0 的来源。它不在解析器 lts 9.9 中(解析器提供 process-1.4.3.0 进程库),也不在 leksah 的 cabal 文件中。我还应该去哪里看?(我在配置中有完全匹配)。

来自 global-project 的 stack.yaml 是

flags: {}
extra-package-dbs: []
packages: []
extra-deps: []
resolver: lts-10.4

config.yaml 仅包含(除了模板)compiler-check: match-exact

项目 stack.yaml 是

resolver: lts-9.9
packages:
- '.'
- 'vendor/leksah-server'
- 'vendor/ltk'
- 'vendor/haskellVCSGUI/vcsgui'
#- 'vendor/yi'
- 'vendor/haskellVCSWrapper/vcswrapper'

# Dependency packages to be pulled from upstream that are not in the resolver
# (e.g., acme-missiles-0.3)
extra-deps:
- binary-shared-0.8.3
- haddock-api-2.17.4
- haskell-gi-overloading-0.0
- gi-gtk-hs-0.3.5.0
- gi-gtksource-3.0.15
- gi-javascriptcore-4.0.14
- gi-soup-2.4.14
- gi-webkit2-4.0.14
- gi-gdk-3.0.14
- gi-gdkpixbuf-2.0.14
- gi-glib-2.0.14
- gi-gobject-2.0.14
- gi-gtk-3.0.17
- gi-cairo-1.0.14
- gi-gio-2.0.14
- gi-pango-1.0.15
- gi-atk-2.0.14
- gi-gtkosxapplication-2.0.14

# Override default flag values for local packages and extra-deps
flags:
  gi-atk:
    enable-overloading: false
  gi-cairo:
    enable-overloading: false
  gi-gdk:
    enable-overloading: false
  gi-gdkpixbuf:
    enable-overloading: false
  gi-gio:
    enable-overloading: false
  gi-glib:
    enable-overloading: false
  gi-gobject:
    enable-overloading: false
  gi-gtk:
    enable-overloading: false
  gi-gtk-hs:
    enable-overloading: false
  gi-gtksource:
    enable-overloading: false
  gi-javascriptcore:
    enable-overloading: false
  gi-pango:
    enable-overloading: false
  gi-soup:
    enable-overloading: false
  gi-webkit2:
    enable-overloading: false
  gi-gtkosxapplication:
    enable-overloading: false

# Extra package databases containing global packages
extra-package-dbs: []

cabal 文件包含(第一个是项目的相关文件,其他文件在包中)-它们都没有要求 process-1.4.2.0

   process >=1.4.3.0 && <1.7,
    process >= 1.0.1.1,
    process >=1.0.1.5 && <1.7,
    process >=1.0.1.5 && <1.7,
    process >=1.0.1.5 && <1.7,
    process >=1.0.1.5 && <1.7,
    process >=1.0.1.5 && <1.7,
    process >=1.1 && <1.7,
    process >=1.1 && <1.7,
    process >=1.1 && <1.7,
    process >=1.1 && <1.7,

将 process-1.4.3.0 添加到额外的部门可以解决要求 - 但为什么这是必要的?它在 lts 9.9 中!- 正如预期的那样,它确实没有编译 - 必须有其他包与另一台计算机上的选择不同。

4

0 回答 0