堆栈GHCI没有通过堆栈导入模块

时间:2015-09-07 00:48:56

标签: haskell ghci haskell-stack

我使用stack new Proj-Name simple命令创建了一个新项目,并在我在/src目录中创建的文件中导入了GHC基础库import System.Process之外的模块。运行stack build成功,文件按照我的预期运行。但是,当我在同一目录中运行stack ghci时,没有System.Process列为可导入模块。

如何制作以便所有导入的模块都可以在stack ghci内导入?

1 个答案:

答案 0 :(得分:1)

当您运行stack new ...时,即使使用simple模板,您也会注意到创建了几个允许堆栈工作的文件。其中一个是Proj_Name.cabal文件,如果您打开它,您会注意到文件的executable Proj_Name部分下方有main-is: Main.hs行。

默认main-is文件为Main.hs,但可能是任何内容。您的导入应该在您想要充当主文件的任何文件中。因此,在这种情况下,您可以简单地将您创建的文件的名称(具有System.Process导入)替换为该行中的Main.hs

在此之后,运行stack build,在build-depends: base >= 4.7 && < 5的{​​{1}}行下添加它告诉您的任何依赖项,在这种情况下将如下所示:

Proj_Name.cabal

再次运行build-depends: base >= 4.7 && < 5 , process (如果还有任何问题需要咨询stack guide,现在stack build应该将您在该文件中导入的所有模块都可用