【问题标题】:How to I change the default GHC compiler version on Stack如何更改 Stack 上的默认 GHC 编译器版本
【发布时间】:2019-04-27 07:52:33
【问题描述】:

我正在尝试为 Haskell 设置一个环境,并安装了堆栈。安装后我意识到 GHC 8.6.4 版本不是我需要的版本(8.0.2)。

compiler-exe: /home/manny/.stack/programs/x86_64-linux/ghc-tinfo6- 
8.6.4/bin/ghc
compiler-bin: /home/manny/.stack/programs/x86_64-linux/ghc-tinfo6- 
8.6.4/bin
compiler-tools-bin: /home/manny/.stack/compiler-tools/x86_64-linux- 
tinfo6/ghc-8.6.4/bin

所以我安装了 GHC 8.0.2。我知道如果我更改全局配置文件,我可以解决问题,指示我想要的正确编译器,但是进行此类更改避免编辑配置文件的正确命令是什么?

我试过了:

stack config set --compiler ghc-8.0.2

没有成功。我的编译器还是 8.6.4。

~/.stack$ stack ghc -- --version
The Glorious Glasgow Haskell Compilation System, version 8.6.4

谢谢!

【问题讨论】:

标签: haskell ghc haskell-stack


【解决方案1】:

您误解了stack config 命令。无论您在哪里使用--compiler,您都在告诉 Stack 它应该为当前命令使用哪个编译器版本 - 但由于编辑配置不使用任何类型的编译器,这并没有真正改变任何东西。

只要运行stack config set 就可以了

Missing: COMMAND

Usage: stack config set COMMAND [--help]
  Sets a field in the project's stack.yaml to value

这更好地解释了问题。如果您寻求帮助,Stack 会告诉您唯一有效的 COMMAND 值是 resolversystem-ghcinstall-ghc

因此您可以将resolver 设置为特定的编译器版本,使用

stack config set resolver ghc-8.0.2

但您不能从命令行设置编译器,因为它不是 stack config set 支持的命令。

【讨论】:

  • 抱歉,您回答了什么问题
猜你喜欢
  • 2013-01-24
  • 1970-01-01
  • 2023-04-08
  • 2017-08-28
  • 1970-01-01
  • 2016-01-22
  • 1970-01-01
  • 1970-01-01
  • 2011-12-11
相关资源
最近更新 更多