我决定尝试给堆叠一次。我安装了它并用它来安装最新版本的ghc。我已经使用堆栈来安装一些软件包,但ghc看不到软件包,当我用ghc-pkg列出软件包时,我看到我通过堆栈安装的软件包不在那里。为什么是这样?我误解了堆栈的目的吗?
答案 0 :(得分:8)
Stack永远不会触及全局包数据库。它使用分层数据库方法
因此,大多数软件包都安装在快照数据库中,而不是污染全局数据库,因此大多数软件包都可以共享。由于堆叠快照中的包是兼容的(即总是一起编译),我们不会遇到 Cabal地狱。
您可以使用stack ghci
或stack ghc
在配置包数据库的情况下运行相应的命令。