首页 > 解决方案 > 什么是 setup.Cabal?为什么我会收到构建错误?

问题描述

我正在尝试将可执行文件添加到现有项目中(这样我就可以使用 ghcid 自动重新加载运行我自己的cabal test测试,而不是有限制)。

但是我遇到了关于setup.Cabal,的奇怪错误conflict set: orgmode-parse, orgmode-parse:setup.Cabal。这个 setup.cabal什么?没有定义这样的文件,也没有Setup.hs文件 - 我认为这可能是相关的。

orgmode-parse.cabal

cabal-version: 1.12
name:           orgmode-parse
version:        0.3.0
synopsis:       A collection of Attoparsec combinators for parsing org-mode
flavored documents.
description:    <<https://travis-ci.org/ixmatus/orgmode-parse.svg?branch=master>>
                .
                `orgmode-parse` is a parsing library for the org-mode flavor of
                document markup.
                .
                The provided Attoparsec combinators parse the human-readable and
                textual representation into a simple AST.
category:       Data
homepage:       https://github.com/digitalmentat/orgmode-parse#readme
bug-reports:    https://github.com/digitalmentat/orgmode-parse/issues
author:         Parnell Springmeyer <parnell@digitalmentat.com>
maintainer:     Parnell Springmeyer <parnell@digitalmentat.com>
license:        BSD3
license-file:   LICENSE
build-type:     Simple

source-repository head
  type: git
  location: https://github.com/digitalmentat/orgmode-parse

executable abc
  main-is: Main.hs
  other-modules:
      Paths_orgmode_parse
  hs-source-dirs:
      src-exit
  ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -fno-warn-orphans -fno-warn-unused-do-bind
  build-depends:
      aeson
    , attoparsec
    , base
    , bytestring
    , containers
    , free
    , hashable
    , insert-ordered-containers
    , old-locale
    , semigroups
    , text
    , thyme
    , unordered-containers
  default-language: Haskell2010
cabal v2-repl abc
Warning: The package list for 'hackage.haskell.org' is 133 days old.
Run 'cabal update' to get the latest list of available packages.
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] next goal: orgmode-parse (user goal)
[__0] rejecting: orgmode-parse-0.2.3, orgmode-parse-0.2.2,
orgmode-parse-0.2.1, orgmode-parse-0.2.0, orgmode-parse-0.1.1.3,
orgmode-parse-0.1.1.2, orgmode-parse-0.1.1.1, orgmode-parse-0.1.1.0,
orgmode-parse-0.1.0.4, orgmode-parse-0.1.0.3, orgmode-parse-0.1.0.2,
orgmode-parse-0.1.0.1, orgmode-parse-0.1.0, orgmode-parse-0.0.2.1,
orgmode-parse-0.0.2.0, orgmode-parse-0.0.1.2, orgmode-parse-0.0.1.1,
orgmode-parse-0.0.1.0, orgmode-parse-0.0.0.3, orgmode-parse-0.0.0.2,
orgmode-parse-0.0.0.1 (constraint from user target requires ==0.3.0)
[__0] trying: orgmode-parse-0.3.0
[__1] next goal: orgmode-parse:setup.Cabal (dependency of orgmode-parse)
[__1] rejecting: orgmode-parse:setup.Cabal-2.2.0.1/installed-2.2... (conflict:
orgmode-parse => orgmode-parse:setup.Cabal>=1.12 && <1.25)
[__1] rejecting: orgmode-parse:setup.Cabal-3.2.0.0 (constraint from maximum
version of Cabal used by Setup.hs requires <3.2)
[__1] rejecting: orgmode-parse:setup.Cabal-3.0.2.0,
orgmode-parse:setup.Cabal-3.0.1.0, orgmode-parse:setup.Cabal-3.0.0.0,
orgmode-parse:setup.Cabal-2.4.1.0, orgmode-parse:setup.Cabal-2.4.0.1,
orgmode-parse:setup.Cabal-2.4.0.0, orgmode-parse:setup.Cabal-2.2.0.1,
orgmode-parse:setup.Cabal-2.2.0.0 (conflict: orgmode-parse =>
orgmode-parse:setup.Cabal>=1.12 && <1.25)
[__1] rejecting: orgmode-parse:setup.Cabal-2.0.1.1,
orgmode-parse:setup.Cabal-2.0.1.0, orgmode-parse:setup.Cabal-2.0.0.2,
orgmode-parse:setup.Cabal-1.24.2.0, orgmode-parse:setup.Cabal-1.24.0.0,
orgmode-parse:setup.Cabal-1.22.8.0, orgmode-parse:setup.Cabal-1.22.7.0,
orgmode-parse:setup.Cabal-1.22.6.0, orgmode-parse:setup.Cabal-1.22.5.0,
orgmode-parse:setup.Cabal-1.22.4.0, orgmode-parse:setup.Cabal-1.22.3.0,
orgmode-parse:setup.Cabal-1.22.2.0, orgmode-parse:setup.Cabal-1.22.1.1,
orgmode-parse:setup.Cabal-1.22.1.0, orgmode-parse:setup.Cabal-1.22.0.0,
orgmode-parse:setup.Cabal-1.20.0.4, orgmode-parse:setup.Cabal-1.20.0.3,
orgmode-parse:setup.Cabal-1.20.0.2, orgmode-parse:setup.Cabal-1.20.0.1,
orgmode-parse:setup.Cabal-1.20.0.0, orgmode-parse:setup.Cabal-1.18.1.7,
orgmode-parse:setup.Cabal-1.18.1.6, orgmode-parse:setup.Cabal-1.18.1.5,
orgmode-parse:setup.Cabal-1.18.1.4, orgmode-parse:setup.Cabal-1.18.1.3,
orgmode-parse:setup.Cabal-1.18.1.2, orgmode-parse:setup.Cabal-1.18.1.1,
orgmode-parse:setup.Cabal-1.18.1, orgmode-parse:setup.Cabal-1.18.0,
orgmode-parse:setup.Cabal-1.16.0.3, orgmode-parse:setup.Cabal-1.16.0.2,
orgmode-parse:setup.Cabal-1.16.0.1, orgmode-parse:setup.Cabal-1.16.0,
orgmode-parse:setup.Cabal-1.14.0, orgmode-parse:setup.Cabal-1.12.0,
orgmode-parse:setup.Cabal-1.10.2.0, orgmode-parse:setup.Cabal-1.10.1.0,
orgmode-parse:setup.Cabal-1.10.0.0, orgmode-parse:setup.Cabal-1.8.0.6,
orgmode-parse:setup.Cabal-1.8.0.4, orgmode-parse:setup.Cabal-1.8.0.2,
orgmode-parse:setup.Cabal-1.6.0.3, orgmode-parse:setup.Cabal-1.6.0.2,
orgmode-parse:setup.Cabal-1.6.0.1, orgmode-parse:setup.Cabal-1.4.0.2,
orgmode-parse:setup.Cabal-1.4.0.1, orgmode-parse:setup.Cabal-1.4.0.0,
orgmode-parse:setup.Cabal-1.2.4.0, orgmode-parse:setup.Cabal-1.2.3.0,
orgmode-parse:setup.Cabal-1.2.2.0, orgmode-parse:setup.Cabal-1.2.1,
orgmode-parse:setup.Cabal-1.1.6, orgmode-parse:setup.Cabal-1.24.1.0
(constraint from minimum version of Cabal used by Setup.hs requires >=2.2)
[__1] fail (backjumping, conflict set: orgmode-parse,
orgmode-parse:setup.Cabal)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: orgmode-parse:setup.Cabal,
orgmode-parse

标签: haskellcabal

解决方案


这是由于这两行:

synopsis:       A collection of Attoparsec combinators for parsing org-mode
flavored documents.

文本继续应该像这样缩进:

synopsis:       A collection of Attoparsec combinators for parsing org-mode
    flavored documents.

这是 Cabal 的一个非常误导性的错误,我在这里创建了一个问题:https ://github.com/haskell/cabal/issues/7018


推荐阅读