运行代码遇Stack版本兼容警告,是否需更换GHC版本?
问题解答
- 这两条是兼容性警告,并非强制必须解决的错误,是否需要调整GHC版本看实际运行情况:
- 若当前代码能正常编译、运行:不需要更换GHC版本,继续使用9.2.5即可。只是后续如果出现莫名的编译失败、运行异常,要优先考虑版本不兼容的可能性。
- 若代码已经出现编译错误、运行崩溃等问题:
- 优先升级Stack到最新版本——新版本Stack通常会适配更高版本的GHC和Cabal,比降级GHC更省心。
- 若不想升级Stack,再考虑降级GHC到9.0.x系列(比如9.0.2),同时将Cabal版本降到3.4.x及以下。
- 关于Cabal提示的补充:如果用的是Stack默认构建流程,Stack会自带兼容版本的Cabal,系统中的Cabal版本不影响,可忽略这条警告;只有手动调用系统Cabal时,才需要考虑降级Cabal。
内容的提问来源于stack exchange,提问作者user20556088
相关产品推荐
相关产品推荐

