我想reactive-banana
在我的新 Haskell 项目中使用。我从未使用过cabal-install或stack
以前。我创建了一个目录并在其中使用stack new
. 我现在在目录中看到 2 个文件:new-template.cabal
和stack.yaml
.
如何设置依赖项并确保它们被下载和编译?
起初我尝试在下添加- reactive-banana-0.8.0.2
,但两者都没有下载。然后我增加了一个调用这个的部分:stack.yaml
extra-deps:
stack build
stack solver
library
new-template.cabal
library
hs-source-dirs: src
exposed-modules: Lib
build-depends: base >= 4.7 && < 5
, reactive-banana >= 0.8
default-language: Haskell2010
每次我尝试运行stack build
时,它都会出现错误并建议将一些包添加到stack.yaml
under时崩溃extra-deps:
,这种情况发生了 3 次,直到最后安装了所有包,我可以将它们导入stack ghci
REPL。
所以我的问题是,惯用的使用方式是什么stack
?我应该使用这两个文件中的哪一个来指定依赖项和其他项目元数据?普通 Haskell 开发人员的示例工作流程是stack
什么?