无法将Database.HDBC.Sqlite3添加到堆栈文件中

时间:2017-10-28 08:32:25

标签: haskell hdbc

我正在尝试使用lib HDBCHDBC-sqlite3来实现数据库,而我在添加HDBC-Sqlie3时遇到错误,我尝试了以下内容:

  • HDBC-SQLITE3
  • HDBC-Sqlite3 -any
  • HDBC-Sqlite3> = 2.3.3.0&& < 2.3.3.1
  • HDBC-Sqlite3> = 2.3.3.0

并且以上都没有工作并且得到错误,在尝试- any时出现以下错误:

In the dependencies for blog-post-0.1.0.0:
HDBC-Sqlite3 must match -any, but the stack configuration has no specified version

编辑:

stack.yaml file

cabal file

1 个答案:

答案 0 :(得分:1)

您的主要错误是HDBC中的大写 S - s qlite3!

这应该是您的cabal文件的库部分

library
  hs-source-dirs:      src
  exposed-modules:     Lib
  build-depends:       base >= 4.7 && < 5
                     , parsec >= 3.1.11 && < 4
                     , servant
                     , servant-client
                     , servant-server
                     , aeson >= 1.1
                     , mtl
                     , HDBC >=2.4 && <3.0
                     , HDBC-sqlite3 >= 2.3.3.0

这应该是你的stack.yaml文件的 extra-deps 部分:

# Dependency packages to be pulled from upstream that are not in the resolver
# (e.g., acme-missiles-0.3)
extra-deps:
- HDBC-sqlite3-2.3.3.0

您必须添加包HDBC-sqlite3-2.3.3.0 到stack.yaml文件的extra-dep部分,因为它在Stackage LTS-9.9的包集中缺失。