删除全局Stack配置后,如何恢复Haskell Stack与ghcup的集成?
删除全局Stack配置后,如何恢复Haskell Stack与ghcup的集成?
别担心,恢复Stack和ghcup的集成其实挺简单的,有两种靠谱的方法可以选:
方法一:用ghcup自带的配置命令一键恢复
直接在终端里敲这个命令:
ghcup configure
运行后会弹出ghcup的配置界面,你只需要在看到“Configure stack to use ghcup?”这类提示时,选择Yes就行。这个命令会自动帮你重新配置Stack的全局设置,把和ghcup的集成给补回来,省心又省力。
方法二:手动修改Stack配置文件
如果你更喜欢自己动手调整配置,也可以手动修改Stack的全局配置:
- 先确保Stack的配置目录存在——如果刚删了
~/.stack,随便运行一个Stack命令(比如stack --version),它就会自动生成基础的配置文件和目录。 - 找到全局配置文件
~/.stack/config.yaml,打开它并添加以下内容:
setup-info-yaml: - https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-stack.yaml
- 保存文件后,Stack就会使用ghcup提供的GHC版本元数据,这样就能和ghcup安装的haskell-language-server等工具正常配合了。
验证是否恢复成功
你可以运行stack ghc -- --version,看看输出的GHC版本是不是ghcup管理的那个版本;或者打开你的Stack项目,启动HLS,要是能正常加载代码提示,就说明集成已经恢复啦。
备注:内容来源于stack exchange,提问作者Joe




