haskell - mac - Dependiendo de un paquete local en cabal
instalar cabal (2)
Es posible que pueda crear un archivo ./cabal.project
con contenido como:
packages:
common/
backend/
frontend/
Y luego ejecuta $ cabal new-build all
.
Un ejemplo de esto se puede ver aquí: https://github.com/ElvishJerricco/reflex-project-skeleton/blob/11c1feb/cabal.project
He escrito algunos paquetes que contienen algunas funciones adicionales para tratar con tipos comunes que reflejan la forma en que me gusta usarlos (por ejemplo, prefiero tratar los documentos Bson como mapas, en lugar de listas de campos). Mantengo estos paquetes en directorios de fuentes locales, no en Hackage.
Me gustaría introducir las dependencias entre estos paquetes en sus archivos .cabal
, usando el sistema de build-depends
.cabal
. Pero esto conduce al siguiente error ( bson-docmap
es un módulo local):
cabal: At least the following dependencies are missing:
bson-docmap >=0.0
¿Es posible apuntar cabal a un directorio local como un repositorio alternativo?
Mi solución actual es mantener todos mis módulos en un solo paquete local, pero preferiría separarlos si es posible.
Si está utilizando sandbox de Cabal, puede agregar un directorio local de Cabalized como fuente
cabal sandbox add-source path/to/project/dir
Después de este punto estará disponible para la build-depends
.