haskell - 什么是 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
解决方案
这是由于这两行:
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
推荐阅读
- c - 如何评估C中的输入数据?
- rust - 如何在 Cargo 配置中为构建和测试指定不同的默认目标?
- c# - ExpressionVisitor 不访问派生类的重写属性
- apache-zookeeper - 如何找出zookeeper server和curator之间的时差?
- python-2.7 - Python - 根据文件名将其他excel文件中的特定列复制到新的列
- python - Pymongo - 使用 insert_one 函数时检查文档是否正确插入
- http - 带有自定义网络层的 HTTP 包
- r - 为什么我在 Windows 资源管理器中重命名文件后 r 代码更改为无法运行?
- c# - bash:./word:cygwin64 中没有这样的文件或目录
- swift - 无法播放声音文件Swift4