2

我正在尝试使用 libsHDBC和来实现数据库HDBC-sqlite3,而我在添加时遇到错误HDBC-Sqlie3,我尝试了以下方法:

  • HDBC-Sqlite3
  • HDBC-Sqlite3 -任何
  • 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 文件

阴谋集团文件

4

1 回答 1

3

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

这应该是您的 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-deps 部分,因为 Stackage LTS-9.9 的包集中缺少它。

于 2017-10-28T12:37:58.050 回答