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