使用cabal-dev避免依赖冲突

时间:2012-12-06 13:16:12

标签: haskell dependencies dependency-management cabal

目前我按照Installing cabal globally by Volker Schatz中的规定全局安装了cabal。在帖子Understanding cabal dependency messages中,我在尝试安装GOA时遇到依赖冲突,因此想尝试通过cabal-dev(cabal-dev by Rogan Creswick)安装GOA以隔离安装(如果我理解的话)正确的cabal将来会包含一个沙盒功能,请参阅cabal sandbox by Johan Tibell,但由于它仍在开发中,我想尝试一下cabal-dev。

问题:因为我的~/.cabal/usr/local/share/cabal的符号链接(如在网址1中所做的那样),我将如何使用cabal-dev安装GOA?理想情况下,安装仍会放在/usr/local/share/cabal中,但可能放在/usr/local/share/cabal/cabal-dev等专用目录中

1 个答案:

答案 0 :(得分:1)

据我了解,cabal-dev的目的是创建一个独立的环境,仅用于编译项目或具有兼容依赖项的特定子项目集。您唯一需要做的就是在“cabalized”项目的目录中运行cabal-dev,它将为所有依赖项找到正确的版本集,并在本地编译和安装它们,在“cabal-dev”中你的子目录。如果您要求它在集中位置执行此操作,例如“/ usr / local / ...”,那么您将击败cabal-dev的整个目的。如果您仍然有疑问,请查看virtualenv ... cabal-dev以类似的方式工作。