我正在exercism进行一些Haskell练习。我已经达到了需要在项目中包含库的程度。但为了更清楚,我想包括库Data.List.Split。可以找到该库here
我尝试过一些Stack's文档但我似乎并不了解如何操作。我的项目有:
package.yaml
stack.yaml
cabal
档案我希望他们有一个" dummies指南来使用堆栈"这是绝对的初学者能够理解的东西。
请在解释答案时使用示例。
答案 0 :(得分:1)
您应该将库split
和特定版本添加到cabal
部分的build-depends
文件中。例如,如果您的cabal
文件中包含以下内容:
build-depends:
base >=4.7
现在Stack
知道您的项目取决于base
库,它应该要求版本大于或等于4.7
。因此,要添加split
库,您应该添加以下内容:
build-depends:
split == 0.2.3.2
这简单地说您需要0.2.3.2
库的split
版本。
在这里,您可以阅读更多相关信息:Stack documentation(阅读工作流程部分),此处您有一个cabal
文件示例,该文件需要一些库project.cabal example。
答案 1 :(得分:0)
我想我找到了另一种方法。我需要在split
文件中插入package.yaml
作为其中一个依赖项,如下所示:
dependencies:
- split
接下来是删除cabal
文件,然后在终端中输入stack build
。
结果是它创建了一个新的cabal
文件,而我不必对cabal
文件进行任何特定更改。
新的cabal
文件现在具有split
作为依赖关系,因此:
build-depends:
base
, split
在新生成的cabal
文件的顶部,它表示它是由package.yaml
hpack
文件生成的。