堆栈 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
我有
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