Haskell 创建测试套件时出错:";无法满足-package id";

Haskell 创建测试套件时出错:";无法满足-package id";,haskell,cabal,Haskell,Cabal,我正在尝试为我的项目创建一个测试套件,HaskSplit在我的.cabal配置中: -- Initial HaskSplit.cabal generated by cabal init. For further -- documentation, see http://haskell.org/cabal/users-guide/ name: HaskSplit version: 0.1.0.0 synopsis:

我正在尝试为我的项目创建一个测试套件,
HaskSplit
在我的.cabal配置中:

-- Initial HaskSplit.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

name:                HaskSplit
version:             0.1.0.0
synopsis:            Haskell Implementation of Shamir's Secret Sharing Scheme
-- description:         
license:             MIT
license-file:        LICENSE
author:              
maintainer:          
-- copyright:           
category:            Security
build-type:          Simple
-- extra-source-files:  
cabal-version:       >=1.10

executable HaskSplit
  main-is:             Main.hs
  default-language:    Haskell2010
  -- other-modules:       
  other-extensions:    TemplateHaskell, NoImplicitPrelude, RankNTypes, OverloadedStrings
  build-depends:       base >=4.6 && <4.7,
                       resourcet >=1.1 && <1.2,
                       bytestring >=0.10 && <0.11,
                       conduit-extra >=1.1 && <1.2,
                       vector >=0.10 && <0.11,
                       conduit >=1.1 && <1.2,
                       conduit-combinators >=0.2 && <0.3,
                       mono-traversable >=0.5 && <0.6,
                       safe >=0.3 && <0.4,
                       transformers >=0.3 && <0.4,
                       filepath >= 1.3,
                       directory >=1.2,
                       Glob >= 0.7.4,
                       errors >= 1.4,
                       optparse-applicative >= 0.8
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options:         -Wall -fno-warn-orphans

test-suite tests
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      tests
  main-is:             Test.hs
  ghc-options:         -Wall -fno-warn-orphans
  build-depends:       base == 4.*,
                       QuickCheck >=2.6 && <2.7,
                       test-framework-quickcheck2 >= 0.3.0.3,
                       HaskSplit
我不太确定我错过了什么,有人能帮我吗?这附近发生了循环依赖吗?或者我是否需要为我的包创建一个库实例,以使构建工作正常


谢谢

构建取决于部分只能包含库,不能包含模块。我建议你在你的阴谋集团档案中增加一个图书馆。库的
暴露模块
部分应列出您的测试(或库的任何其他用户)可能需要引用的所有模块


作为创建库的替代方法,您可以简单地将所需的模块添加到测试套件部分的其他模块中。但是,如果您想包含很多模块,我认为库方法更好

经过进一步调整后,为了完整性起见,以下是我得到的:

-- Initial HaskSplit.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

name:                HaskSplit
version:             0.1.0.0
synopsis:            Haskell Implementation of Shamir's Secret Sharing Scheme
-- description:         
license:             MIT
license-file:        LICENSE
author:              
maintainer:          
-- copyright:           
category:            Security
build-type:          Simple
-- extra-source-files:  
cabal-version:       >=1.10

executable HaskSplit
  main-is:             Main.hs
  default-language:    Haskell2010
  -- other-modules:       
  other-extensions:    RankNTypes
  build-depends:       base >=4.6 && <4.7,
                       resourcet >=1.1 && <1.2,
                       bytestring >=0.10 && <0.11,
                       conduit-extra >=1.1 && <1.2,
                       conduit >=1.1 && <1.2,
                       conduit-combinators >=0.2 && <0.3,
                       mono-traversable >=0.5 && <0.6,
                       safe >=0.3 && <0.4,
                       transformers >=0.3 && <0.4,
                       filepath >= 1.3,
                       directory >=1.2,
                       Glob >= 0.7.4,
                       errors >= 1.4,
                       optparse-applicative >= 0.8,
                       random == 1.*,
                       HaskSplit
  hs-source-dirs:      src/exe
  default-language:    Haskell2010
  ghc-options:         -Wall -fno-warn-orphans

library
  Exposed-modules:     HaskSplit.Algorithm,
                       HaskSplit.Util,
                       FiniteField.GF256,
                       FiniteField.PGF256
  default-language:    Haskell2010
  hs-source-dirs:      src/lib
  build-depends:       base >=4.6 && <4.7,
                       vector >=0.10 && <0.11,
                       random == 1.*

test-suite tests
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      tests
  main-is:             Test.hs
  other-extensions:    TemplateHaskell
  ghc-options:         -Wall -fno-warn-orphans
  build-depends:       base == 4.*,
                       QuickCheck >=2.6 && <2.7,
                       test-framework-quickcheck2 >= 0.3.0.3,
                       HaskSplit
——由cabal init生成的初始HaskSplit.cabal。进一步
--文档,请参阅http://haskell.org/cabal/users-guide/
姓名:HaskSplit
版本:0.1.0.0
简介:Shamir秘密共享方案的Haskell实现
--说明:
执照:麻省理工学院
许可证文件:许可证
作者:
维护者:
--版权所有:
类别:安全
构建类型:简单
--额外源文件:
阴谋集团版本:>=1.10
可执行HaskSplit
main是:main.hs
默认语言:Haskell 2010
--其他模块:
其他扩展:RankNTypes
构建取决于:基础>=4.6&&=1.1&&=0.10&&=1.1&&=1.1&&=0.2&&=0.5&&=0.3&&=0.3&&&=1.3,
目录>=1.2,
全球>=0.7.4,
误差>=1.4,
optpass applicative>=0.8,
随机==1.*,
搭扣
hs源目录:src/exe
默认语言:Haskell 2010
ghc选项:-墙-fno警告孤儿
图书馆
公开模块:HaskSplit.算法,
HaskSplit.Util,
FiniteField.GF256,
FiniteField.PGF256
默认语言:Haskell 2010
hs源目录:src/lib
构建取决于:基础>=4.6&&=0.10&&=2.6&&&=0.3.0.3,
搭扣

构建取决于:HaskSplit
指的是一个名为
HaskSplit
的库,它不存在。顺便说一句,你的包裹上的限制非常严格。为此干杯。添加了库,它似乎可以正常构建。然而,可执行文件仍然要求依赖于
向量
库,尽管唯一使用它的是现在封装在库中的算法。有什么想法吗?别提了。这似乎回答了我的问题。
-- Initial HaskSplit.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

name:                HaskSplit
version:             0.1.0.0
synopsis:            Haskell Implementation of Shamir's Secret Sharing Scheme
-- description:         
license:             MIT
license-file:        LICENSE
author:              
maintainer:          
-- copyright:           
category:            Security
build-type:          Simple
-- extra-source-files:  
cabal-version:       >=1.10

executable HaskSplit
  main-is:             Main.hs
  default-language:    Haskell2010
  -- other-modules:       
  other-extensions:    RankNTypes
  build-depends:       base >=4.6 && <4.7,
                       resourcet >=1.1 && <1.2,
                       bytestring >=0.10 && <0.11,
                       conduit-extra >=1.1 && <1.2,
                       conduit >=1.1 && <1.2,
                       conduit-combinators >=0.2 && <0.3,
                       mono-traversable >=0.5 && <0.6,
                       safe >=0.3 && <0.4,
                       transformers >=0.3 && <0.4,
                       filepath >= 1.3,
                       directory >=1.2,
                       Glob >= 0.7.4,
                       errors >= 1.4,
                       optparse-applicative >= 0.8,
                       random == 1.*,
                       HaskSplit
  hs-source-dirs:      src/exe
  default-language:    Haskell2010
  ghc-options:         -Wall -fno-warn-orphans

library
  Exposed-modules:     HaskSplit.Algorithm,
                       HaskSplit.Util,
                       FiniteField.GF256,
                       FiniteField.PGF256
  default-language:    Haskell2010
  hs-source-dirs:      src/lib
  build-depends:       base >=4.6 && <4.7,
                       vector >=0.10 && <0.11,
                       random == 1.*

test-suite tests
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      tests
  main-is:             Test.hs
  other-extensions:    TemplateHaskell
  ghc-options:         -Wall -fno-warn-orphans
  build-depends:       base == 4.*,
                       QuickCheck >=2.6 && <2.7,
                       test-framework-quickcheck2 >= 0.3.0.3,
                       HaskSplit