我写了一些包含一些额外函数的包,用于处理反映我喜欢使用它们的方式的常见类型(例如,我更喜欢将Bson文档视为地图而不是字段列表)。我将这些包保存在本地源目录中,而不是Hackage。
我想使用cabal的.cabal
系统在build-depends
文件中介绍这些软件包之间的依赖关系。但是这会导致以下错误(bson-docmap
是本地模块):
cabal: At least the following dependencies are missing:
bson-docmap >=0.0
是否可以将cabal指向本地目录作为备用存储库?
我目前的解决方法是将所有模块保存在一个本地软件包中,但如果可能的话,我宁愿将它们分开。
答案 0 :(得分:22)
如果您使用的是Cabal沙箱,那么您可以添加一个本地Cabalized目录作为源
cabal sandbox add-source path/to/project/dir
在此之后,它将可用于build-depends
。
答案 1 :(得分:2)
您可以使用以下内容创建./cabal.project
文件:
packages:
common/
backend/
frontend/
然后运行$ cabal new-build all
。
这里可以看到一个例子:https://github.com/ElvishJerricco/reflex-project-skeleton/blob/11c1feb/cabal.project