【问题标题】:How to set cabal extra dirs for all packages in a sandbox如何为沙箱中的所有包设置 cabal 额外目录
【发布时间】:2014-05-25 09:15:13
【问题描述】:

我目前正在开发一个使用大量本机代码的 Haskell 项目。这意味着 cabal 必须可以访问包含文件和库。我通过 --extra-lib-dirs 和 --extra-include-dirs 命令行标志来做到这一点。

我也在使用 cabal 沙盒功能来避免全局依赖地狱。

问题是 cabal 经常需要重新安装我的一些包并因此重新构建它们,这需要本机包含文件和库。因此,在构建我的任何包时,我必须在命令行中指定 --extra-lib-dirs 和 --extra-include-dirs ,即使对于那些不需要本机代码的包也是如此,这很烦人。

我知道我可以在 .cabal 文件中使用 extra-lib-dirs 和 extra-include-dirs,但是那些不允许使用相对路径,而且我不想将计算机上具有绝对路径的文件提交到集中存储库。

所以我想知道,有没有办法为沙箱中的所有包添加目录到 extra-lib-dirs 或 extra-include-dirs ?或者对于计算机来说可能是全局的?

【问题讨论】:

    标签: haskell cabal cabal-install


    【解决方案1】:

    您可以在沙盒所在的目录中简单地创建一个本地cabal.config。 (不要修改cabal.sandbox.config,因为该文件是自动生成的。)

    【讨论】:

    • 哦,我把 cabal.config 放到了错误的文件夹中。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多