【问题标题】:Why doesn't stack add packages to the ghc package database?为什么堆栈不将包添加到 ghc 包数据库?
【发布时间】:2015-07-13 20:49:24
【问题描述】:

我决定试一试。我已经安装了它并用它来安装最新版本的 ghc。我已经使用堆栈安装了一些软件包,但是这些软件包对 ghc 不可见,当我使用 ghc-pkg 列出软件包时,我看到我通过堆栈安装的软件包不存在。为什么是这样?我是否误解了堆栈的目的?

【问题讨论】:

    标签: haskell ghc stackage haskell-stack


    【解决方案1】:

    堆栈从不接触全局包数据库。它使用分层数据库方法

    1. 全球数据库 - 原封不动
    2. stackage 快照中的包被安装到快照数据库中
    3. 每个项目在本地安装其他包

    因此,大多数软件包都安装在快照数据库中,而不是污染全局数据库,因此大多数软件包都可以共享。由于堆栈快照中的包是兼容的(即总是一起编译),我们不会遇到 Cabal hell

    您可以使用stack ghcistack ghc 来运行配置了包数据库的相应命令。

    更准确的解释在stack wiki

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-24
      • 2020-03-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      相关资源
      最近更新 更多