use*_*666 7 haskell ghc haskell-stack
我正在尝试为 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
谢谢你!
你误解了这个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值是resolver、system-ghc和install-ghc。
因此您可以将其设置resolver为特定的编译器版本,
stack config set resolver ghc-8.0.2
但是您无法从命令行设置编译器,因为它不是stack config set.