堆栈 ghci 没有加载本地模块?

stack ghci not loading up local modules?

我有

mainLogger.hs
Logger.hs

在我的本地目录中 mainLogger.hs 引用 Logger 模块。

stack ghci I :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

如果同时加载,应该可以同时加载:

:load Logger.hs mainLogger.hs 

我不知道如果您没有 cabal 文件,您是否可以让 GHCi 在当前文件夹中查找丢失的模块,但如果您 create/initialize 一个,则没有必要。

这个问题现在应该在最新版本的堆栈中得到修复。似乎当模块导入本地模块时,堆栈未将本地目录包含在其模块搜索路径中。在最新的 1.5.1 中。 stack 的版本,这已经被修复 - 所以你应该可以只输入

stack ghci mainLogger.hs