我有
mainLogger.hs
Logger.hs
在我的本地目录中,mainLogger.hs引用Logger模块。
在stack ghci
我:load mainLogger.hs
时,我收到以下错误消息:
mainLogger.hs:6:18:
Could not find module ‘Logger’
It is not a module in the current program, or in any known package.
但是,如果我可以编译stack exec -- ghc mainLogger.hs
并运行stack runghc mainLogger2.hs
或让stack exec -- ghci
正确加载模块。
任何人都知道是什么阻止stack ghci
在本地目录中找到模块?
ps:我没有在这个目录中使用任何cabal文件或stack.yaml文件,因此它会回到我的全局stack.yaml config
答案 0 :(得分:4)
如果你同时加载它们,你应该能够加载它们:
:load Logger.hs mainLogger.hs
如果您没有cabal文件,我不知道您是否可以让GHCi在当前文件夹中查找丢失的模块,但如果您创建/初始化文件,则不需要这样做。
答案 1 :(得分:2)
现在应该在最新版本的堆栈中修复此问题。似乎当模块导入本地模块时,堆栈在其模块搜索路径中不包括本地目录。在最新的1.5.1。堆栈的版本,这已经修复 - 所以你应该只需键入
stack ghci mainLogger.hs