我正在尝试运行haskelldb-demo
cabal sandbox init && cabal install --only-dependencies
需要HDBC-postgresql-2.2.3.1
,需要基本软件包版本为base>=3 && <4.5
。我的系统base
pkg版本为4.7 +。
我正在使用cabal沙箱,但cabal安装仍然是指来自全局存储库的基本(v4.7.0.2)软件包并拒绝所有版本的HDBC-postgresql
rejecting: HDBC-postgresql-2.2.3.1 (conflict: base==4.7.0.2/installed-bfd...,
HDBC-postgresql => base>=3 && <4.5)
为什么cabal会引用系统级别的软件包,尽管我制作沙盒?
答案 0 :(得分:3)
Cabal始终使用全局包数据库。沙盒仅表示您不使用用户包数据库。大概是为了确保你有基础包和ghc可用。
如果您的基座不匹配,则意味着您尝试安装的软件包与您的GHC版本不兼容。我会避免安装不同版本的base。
相关问题(没有明确答案):
How to get cabal to ignore the global package DB when using a sandbox