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

使用cabal init初始化Cabal项目时未生成Main.hs问题求助

问题原因

你使用的Cabal版本(1.18.x)和你参考的3.6版官方文档的cabal init行为不兼容。Cabal 1.18是2014年发布的老旧版本,默认的cabal init交互流程不会自动生成Main.hs文件,而3.0及以上版本的Cabal才支持初始化时自动生成入口代码文件。

解决方案

方案1:升级Cabal到最新稳定版

这是最推荐的处理方式,现在主流的Haskell工具链都会附带3.x以上版本的Cabal,升级后重新执行cabal init即可自动生成Main.hs、cabal项目配置等全套基础文件。

方案2:适配Cabal 1.18版本手动补全

如果你暂时不需要升级版本,可以按以下步骤操作:

  • 执行完cabal init交互流程后,手动在项目根目录新建对应源码文件夹(和.cabal配置内指定的源码路径保持一致即可)
  • 手动创建Main.hs文件,写入基础入口代码:
main :: IO ()
main = putStrLn "Hello Haskell"
  • 检查生成的.cabal配置文件中的executable段,确认main-is字段的值为Main.hs,hs-source-dirs指向你存放Main.hs的目录

内容的提问来源于stack exchange,提问作者Danish A. Alvi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:15:02