如何让cabal在使用沙箱时忽略全局包数据库 [英] How to get cabal to ignore the global package DB when using a sandbox

查看:133
本文介绍了如何让cabal在使用沙箱时忽略全局包数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在Ubuntu上使用cabal沙盒安装两个库, Elm yesod-platform 。问题是,我正在使用xmonad作为我的窗口管理器。因此,我的软件包管理器已经安装了一堆Haskell库。当试图解决依赖关系时,它使用由apt安装的库的版本,因此提供了超出最大回跳数错误。



如何指示Cabal忽略Cabal沙盒中没有的软件包,以便它们将这些软件包的新版本安装到沙箱中,并能够解决相关问题?

解决方案我不知道该怎么做,但你可以试着强制cabal重新安装这些软件包它会告诉你它是危险的,但是因为它在沙盒中,我不相信它(我看不出它会如何破坏你的系统/配置文件包)。但这是一种不切实际的解决方案。你必须指定确切的版本。


I'm trying to install two libraries, Elm and yesod-platform, using a cabal sandbox on Ubuntu. The problem is, I'm using xmonad as my window manager. Thus, a bunch of Haskell libraries have been installed by my package manager. When trying to resolve dependencies, it's using the versions of the libraries installed by apt, and thus is giving a "maximum backjumps exceeded" error.

How can I instruct Cabal to ignore any packages not in the Cabal sandbox, so that it will install fresh versinos of these packages in the sandbox and be able to resolve the dependcies?

解决方案

Too late probably, but still…

I don't know how to do exactly this, but you can try to force cabal to reinstall those packages in sandbox, it will tell you it is dangerous, but as it is in sandbox I believe it not (I can't see how it would break your system/profile packages). But that is kind of impractical solution. And you will have to specify exact version.

这篇关于如何让cabal在使用沙箱时忽略全局包数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆