Haskell导入Data.String.Utils模块失败求助,如何正确导入模块?
解决Haskell中MissingH包Data.String.Utils模块找不到的问题
核心原因:依赖未被项目正确引入
模块找不到的本质问题是,你的项目依赖配置里没有明确声明MissingH包,导致Stack/Cabal在编译时没有将该包纳入环境。
1. 修正项目依赖配置
Stack 项目
- 打开
package.yaml,在dependencies列表中添加:dependencies: - base >= 4.7 && < 5 - MissingH >= 1.0.0 # 新增该行 - 若直接使用
stack.yaml,在extra-deps中补充:extra-deps: - MissingH-1.0.0
Cabal 项目
- 打开项目的
.cabal文件,在build-depends字段中加入:build-depends: base >=4.14 && <5 , MissingH >=1.0.0 # 新增该行
2. 重新构建并同步依赖
Stack 用户执行:
stack clean && stack build --copy-bins
Cabal 用户执行:
cabal clean && cabal update && cabal build
3. 验证依赖安装状态
Stack 用户检查已安装的 MissingH 版本:
stack exec -- ghc-pkg list MissingH输出需包含
MissingH-1.0.0Cabal 用户检查:
cabal list MissingH --installed确认本地已安装目标版本
4. 确认导入语句正确性
你的导入语句import Data.String.Utils是正确的,MissingH 1.0.0版本确实包含该模块,无需修改。
内容的提问来源于stack exchange,提问作者Нигина Абдусаматова
相关产品推荐
相关产品推荐

