如何在Mac M1上运行Stack Haskell应用?解决GHC版本兼容报错
修复Stack无法找到GHC-8.10.3绑定包的问题
根据错误提示,你的M1/M2 Mac(macosx-aarch64)上没有ghc-8.10.3的官方绑定包,Stack无法自动下载该版本,但系统里的ghci能正常运行说明你已经通过其他方式安装了GHC。可以通过以下几种方式解决:
升级Stack到最新版本
旧版本的Stack可能未收录新增的GHC绑定包,执行命令:stack upgrade升级完成后重新尝试
stack run。替换为支持的GHC版本
编辑项目根目录下的stack.yaml文件,将指定的GHC版本替换为错误提示中列出的支持版本,比如:
将compiler: ghc-8.10.3修改为
compiler: ghc-8.10.7或者使用对应版本的resolver(比如lts-18.28对应ghc-8.10.7),修改后执行
stack setup再运行stack run。让Stack使用系统已安装的GHC
如果不想更换GHC版本,可以在stack.yaml中添加或修改配置:system-ghc: true这样Stack会直接调用系统中已安装的GHC(即ghci使用的版本),无需自行下载绑定包。
清理Stack缓存
若缓存存在异常,执行以下命令清理后重新尝试:stack clean --full stack run
内容的提问来源于stack exchange,提问作者Eugene Trofimov
相关产品推荐
相关产品推荐

