You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu安装Haskell Platform后ghc开启profiling编译报错找不到Prelude模块

报错原因

Ubuntu官方源的haskell-platform默认不会安装核心库的性能分析(profiling)版本,你遇到的报错就是因为缺失base等核心库的profiling编译产物,属于源安装方式的正常情况。

现有安装的修复方案

不需要卸载当前版本,直接安装对应依赖即可解决:

  1. 执行命令安装核心库的profiling包:
sudo apt update
sudo apt install ghc-prof libghc-base-prof
  1. 如果后续编译时仍提示缺失其他包的profiling库,按照提示的包名安装对应系统包即可,格式为libghc-<包名>-prof,比如提示缺text包的profiling版本就执行sudo apt install libghc-text-prof。
  2. 依赖安装完成后重新执行ghc -O2 -prof myCode.hs即可正常编译。
关于是否更换安装渠道

如果只是临时使用Haskell,当前源安装的版本能满足需求可以不用更换。如果是长期学习或开发,更建议卸载当前系统版本后使用GHCup或Stack安装:

  • Ubuntu源的Haskell组件更新速度极慢,你当前使用的GHC 8.6.5是已经停止维护的旧版本,很多新特性、新的第三方库都不支持
  • 源内的Haskell依赖包版本固定,依赖冲突问题频发,安装第三方库的profiling版本需要手动查找对应系统包,使用成本很高
  • GHCup是目前Haskell官方推荐的个人开发安装工具,支持自由切换不同版本的GHC、cabal等组件,所有组件的profiling库可以一键安装,不会污染系统路径
  • Stack采用项目级的版本锁定机制,每个项目可以使用独立的GHC版本和依赖集,不会出现依赖冲突,新手上手门槛更低
    如果需要更换安装渠道,先执行sudo apt purge haskell-platform ghc* libghc-*卸载当前系统内的所有Haskell组件,避免后续出现路径冲突。
不同安装渠道的差异
  • 系统源安装:所有组件全局公用,版本固定,安装简单,灵活性极差,适合临时测试使用
  • GHCup安装:组件均存放于用户家目录下,支持多版本自由切换,不会污染系统路径,适合个人日常开发使用
  • Stack安装:依赖和GHC版本与项目绑定,适合多项目并行开发、多人协作场景使用

内容的提问来源于stack exchange,提问作者impresso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:27:03