Я думаю, что единственные интересные биты - это мой импорт и мой файл клики.Вот импорт и демонстрация того, как я бы использовал проблемный импорт (Database.CQL.IO.Log
).
module FDS.Database.Cassandra where
import Prelude hiding(init)
import Database.CQL.IO as Client hiding(Logger)
import Database.CQL.IO.Log as CQLLog
import qualified Database.CQL.Protocol as CQL
import Numeric.Natural
import System.Logger (Logger)
cqlLogger :: Logger -> CQLLog.Logger
cqlLogger logger = undefined
Однако я получаю ошибку:
src/FDS/Database/Cassandra.hs:7:1: error:
Could not load module `Database.CQL.IO.Log'
It is a member of the hidden package `cql-io-1.1.0'.
Perhaps you need to add `cql-io' to the build-depends in your .cabal file.
Use -v to see a list of the files searched for.
|
7 | import Database.CQL.IO.Log as CQLLog
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Но как мы можемпосмотрите из кабального файла: он есть:
library
ghc-options: -Wall -Wtabs -Wincomplete-record-updates
default-extensions:
OverloadedStrings
exposed-modules:
FDS
, FDS.Config.Core
, FDS.Config.Dhall
, FDS.Data.Util
, FDS.Database.Cassandra
other-modules:
FDS.Data.Hobo.Defs
build-depends:
prelude
, base-noprelude ^>=4.12
, bytestring ^>=0.10.8.2
, conduit ^>=1.3.1
, containers ^>=0.6
, cql ^>=4.0.1
, cql-io ^>=1.1.0
Стоит отметить, что у меня есть cql-io в моем extra-deps
в stack.yaml
, так как последняя версия еще не была в LTS.
Вопросы и ответы из комментариев
Q Есть ли другие компоненты в вашем файле cabal (например, исполняемые файлы, тесты производительности, наборы тестов)?
A Да
Q Они также используют FDS.Database.Cassandra (но, возможно, независимо от cql-io)?
A Пока нет, но планирую позже.Поэтому я еще не коснулся других компонентов.
Q Версия cql-io, выбранная вашим инструментом сборки, все еще экспортирует Database.CQL.IO.Log?
A Кажется, что делает это .
Q Какую команду вы выполняете, когда видите, чтоошибка?
A stack --nix build
Единственный интересный бит, который делает --nix
(AFAIK), это получение необходимых системных пакетов, например, OpenSSL.