VS Code中独立Haskell文件报Could not find module的解决办法(无需完整项目)
解决VS Code中单个Haskell文件模块找不到的问题
先确认模块对应的包已安装
比如System.Random属于random包,打开终端执行cabal install random(用Cabal管理工具)或者stack install random(用Stack管理工具),把需要的包安装到本地环境。配置VS Code的Haskell扩展识别包
因为单个文件没有项目配置文件,需要手动告诉语言服务器要加载的包:- 打开VS Code设置(快捷键Ctrl+,),搜索
haskell.serverExtraArgs - 将其值设置为包含所需包的数组,比如
["-package random"],如果有多个包就继续添加,比如["-package random", "-package text"]
或者更灵活的方式是在当前文件所在的文件夹下创建一个hie.yaml文件,内容如下:
cradle: direct: arguments: ["-package random"]这样Haskell语言服务器就能正确识别依赖包,编辑器的错误提示会消失。
- 打开VS Code设置(快捷键Ctrl+,),搜索
运行ghci时带上包参数
确保运行代码时ghci能加载对应包,要么执行ghci -package random 你的文件名.hs直接启动并加载文件,要么进入ghci后执行:set -package random,再用:load 你的文件名.hs加载代码。
内容的提问来源于stack exchange,提问作者Wallace
相关产品推荐
相关产品推荐

