什么是setup.Cabal?为什么会出现构建错误?

问题描述

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

但是我遇到关于setup.Cabalconflict 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

解决方法

这是由于以下两行:

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...