使用Stack时Haskell无法导入Data.List.Split模块该如何解决
问题解决方案
核心原因
Stack 的 extra-deps 配置仅用于声明非快照包的来源和版本,不会自动将包添加到项目的构建依赖中,你需要额外在项目的包配置文件中声明对 split 包的依赖。
操作步骤
- 根据你的项目配置类型添加依赖
- 若项目根目录存在
package.yaml(Stack 新建项目默认使用 hpack 配置):
找到文件内的dependencies字段,将split加入依赖列表,示例:dependencies: - base >= 4.14 && < 5 - split # 新增该行 - 若项目直接使用
.cabal配置文件:
找到对应库/可执行目标的build-depends字段,添加split依赖,示例:build-depends: base >= 4.14 && < 5 , split -- 新增该行
- 清理旧缓存并重新构建
执行以下命令完成构建:
stack clean stack build
- 验证导入
在代码头部添加导入语句即可正常使用:
import Data.List.Split
异常排查
如果操作后仍然报错,按以下项检查:
- 确认
stack.yaml中extra-deps的split-0.2.3.4拼写正确,无多余符号或空格 - 确认修改的是当前项目根目录下的配置文件,而非其他路径的同名文件
- 确认 Stack 版本与项目配置的 LTS 快照版本兼容
内容的提问来源于stack exchange,提问作者HengHeng123
相关产品推荐
相关产品推荐

