这是我的stack.yaml文件,将hspec声明为额外的依赖项:
# Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2)
resolver: lts-3.8
# Local packages, usually specified by relative directory name
packages:
- '.'
# Packages to be pulled from upstream that are not in the resolver (e.g., acme-missiles-0.3)
extra-deps:
- hspec-2.2.0当我运行stack solver时,它说没有什么要做的更改:
root@5d7daa2aec0a:/src/test_stack/a-test/src# stack solver
This command is not guaranteed to give you a perfect build plan
It's possible that even with the changes generated below, you will still need to do some manual tweaking
Asking cabal to calculate a build plan, please wait
No needed changes found
To automatically modify your stack.yaml file, rerun with '--modify-stack-yaml'这是我的源文件(只是为了检查我是否可以在堆栈中使用Hspec ):
module Main where
import Test.Hspec
main :: IO ()
main = do
putStrLn "hello world"当我运行stack build时,我得到:
2015年-10-05 22:24:08.450413:警告找不到模块`Test.Hspec‘`Test.Hspec’src/Stack/Build/Execute.hs:1241:35)
我认为stack solver是在确保额外的依赖关系正常。
我做错什么了?这是我第一次使用堆栈。
发布于 2015-10-10 17:35:40
虽然堆栈取代了用于构建和安装软件包的命令行工具-- cabal-install,但它仍然使用Cabal打包基础结构。特别是,这意味着使用堆栈构建的项目仍然是与.cabal文件兼容的Cabal软件包,它们的所有依赖项都应该在带有适当版本范围的.cabal文件的build-depends部分中列出。即使在stack.yaml文件extra-deps字段中也指定了依赖项,这也仍然有效,因为该字段具有不同的用途(即在构建包时为堆栈提供一个精确的版本)。
https://stackoverflow.com/questions/32958973
复制相似问题