Haskell Cabal共享沙箱和沙箱范围的Cabal.config

Haskell Cabal共享沙箱和沙箱范围的Cabal.config,haskell,cabal,Haskell,Cabal,我正在使用cabal沙盒特性为我的Haskell项目创建一个独立的构建环境,该项目有很多包。为此,我有一个构建脚本,它首先通过 cabal sandbox init 在生成目录中,然后调用 cabal sandbox add-source <path-to-project> cabal沙箱添加源代码 我的每个包裹都在那个目录里。此外,为了简化开发过程,我启动了 cabal sandbox init --sandbox <path-to-sandbox> cabal

我正在使用cabal沙盒特性为我的Haskell项目创建一个独立的构建环境,该项目有很多包。为此,我有一个构建脚本,它首先通过

cabal sandbox init
在生成目录中,然后调用

cabal sandbox add-source <path-to-project>
cabal沙箱添加源代码
我的每个包裹都在那个目录里。此外,为了简化开发过程,我启动了

cabal sandbox init --sandbox <path-to-sandbox>
cabalsandboxinit--sandbox
在我所有的软件包目录中。这允许我直接从所需的包目录执行
cabal安装
,并将所有依赖项构建和包安装到我的沙箱中

现在我有一个配置文件的问题。我在构建目录中的
cabal.sandbox.config
旁边创建了
cabal.config
,它有两个cabal标志(以及额外的include dir等)。它在我启动时工作(并且似乎应用了设置),例如,
cabal install HsOpenSSL
,我的当前目录是一个构建目录(我称之为
cabal sandbox init
的目录,以及
cabal.config
所在的目录)

现在,如果我尝试从HsOpenSSL项目目录启动
cabal install
,我的沙箱中的
cabal.config
将被忽略(尽管之前正确调用了
cabal sandbox init--sandbox
,并且cabal发出了关于安装到沙箱的通知)

问题是,我是否可以为添加到沙箱中的所有包指定cabal选项,即使我只是从包目录启动
cabal configure/build/install
,这些选项也会应用


我正在使用Windows和cabal-install-1.22.0.0。

您解决过这个问题吗?我也遇到了同样的问题。我最终切换到了Stack(),这解决了很多令人头痛的问题。