cabal sandbox使用系统级包

时间:2015-07-03 15:52:22

标签: haskell cabal cabal-install

我正在尝试运行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会引用系统级别的软件包,尽管我制作沙盒?

1 个答案:

答案 0 :(得分:3)

Cabal始终使用全局包数据库。沙盒仅表示您不使用用户包数据库。大概是为了确保你有基础包和ghc可用。

如果您的基座不匹配,则意味着您尝试安装的软件包与您的GHC版本不兼容。我会避免安装不同版本的base。

相关问题(没有明确答案):

How to get cabal to ignore the global package DB when using a sandbox

cabal sandbox v. global package db