升级 haskell 堆栈使用的 ghc 版本

upgrading the ghc version being used by haskell stack

我正在尝试将我为 haskell 堆栈安装的 ghc 版本从版本 8.0.2 更新到 8.2.1,但似乎我遗漏了一些东西。

[user@localhost ~]$ stack --resolver ghc-8.2.1 setup
stack will use a sandboxed GHC it installed
For more information on paths, see 'stack path' and 'stack exec env'
To use this GHC and packages outside of a project, consider using:
stack ghc, stack ghci, stack runghc, or stack exec

[user@localhost ~]$ stack ghci
Configuring GHCi with the following packages: 
GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
Loaded GHCi configuration from /tmp/ghci7878/ghci-script
Prelude> :q
Leaving GHCi.

我想我需要在更新堆栈的 ghc 版本之后做一些额外的步骤,但我不确定。

有2个选项。

临时解决方案是每次加载堆栈时必须提供 ghc 的版本。

ghc --resolver ghc-8.2.1 ghci

如果你不给出ghc的版本,stack加载默认版本。

第二个选项是将堆栈的ghc 版本永久配置为默认版本。以下是用于此的步骤

configure *resolver: ghc-8.2.1* in the file *.stack/global-project/stack.yaml*

并重新启动堆栈。