你如何强制 Haskell 的 cabal-install 程序忽略系统库?

How do you force Haskell's cabal-install program to ignore system libraries?

我正在尝试从 hackage 安装加速库,但它一直给我一个错误,说我的基础包版本 (4.15.1.0) 太新了。有没有办法强制它忽略作为系统范围包安装的基础包,而是下载正确版本的基础包?

我正在使用 Manjaro Linux、ghc 版本 9.0.2 和 cabal 版本 3.4.0.0。我似乎找不到任何关于如何强制它忽略系统包的文档。我试过在 https://cabal.readthedocs.io/en/3.6/ 上搜索,但它似乎没有在任何地方提到它。

base 包总是 hard-fixed 到编译器版本。切换 base 的唯一方法是切换到不同的 GHC。使用 Stack 比使用 Cabal-install 更容易 - 只需 select 具有合适 base 版本的快照(lts-18.24 就可以),Stack 将自动安装相应的编译器.

但很可能您 可以 实际上使用 base-4.15,而只有 accelerate 具有保守的依赖界限。尝试使用 --allow-newer=base 安装它。如果可行,请给维护者一个可以放宽版本界限的 PR。