Haskell ghci:模块&x2018;main:main’;在多个文件中定义-在新的small stack init build ghci包中
我尝试使用vscode设置一个基于Haskell ghci:模块&x2018;main:main’;在多个文件中定义-在新的small stack init build ghci包中,haskell,haskell-stack,Haskell,Haskell Stack,我尝试使用vscode设置一个基于堆栈的Haskell IDE,并从使用stack init创建的一个小项目开始,然后在src中添加第二个模块,并在package.yaml中添加一些依赖项。它构建正常,但当我启动堆栈ghci时,会出现警告: Warning: Multiple files use the same module name: * Paths_primo found at the following paths * /home/frank/Wo
堆栈的Haskell IDE,并从使用stack init
创建的一个小项目开始,然后在src
中添加第二个模块,并在package.yaml
中添加一些依赖项。它构建正常,但当我启动堆栈ghci时,会出现警告:
Warning: Multiple files use the same module name:
* Paths_primo found at the following paths
* /home/frank/Workspace11/primo/.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.2.1.0/build/autogen/Paths_primo.hs (primo:lib)
* /home/frank/Workspace11/primo/.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.2.1.0/build/primo-exe/autogen/Paths_primo.hs (primo:exe:primo-exe)
* * * * * * * *
GHCi, version 8.10.4: https://www.haskell.org/ghc/ :? for help
[1 of 3] Compiling Lib ( /home/frank/Workspace11/primo/src/Lib.hs, interpreted )
[2 of 3] Compiling YamlRead ( /home/frank/Workspace11/primo/src/YamlRead.hs, interpreted )
[3 of 3] Compiling Main ( /home/frank/Workspace11/primo/app/Main.hs, interpreted )
Ok, three modules loaded.
似乎与autogen
和Paths\u primo
存在混淆(primo
是软件包的名称)。我做错了什么
一般问题:什么是正确的方法来清理堆栈项目,以便在一些实验之后“重新开始”?删除cabal
文件和stack work
目录是正确的。Waht与stack.yaml和“stack.yaml.lock”在一起?这似乎是在报告的无害警告,其根本原因是。消除警告的一种解决方法是,通过将以下内容添加到package.yaml中的部分,禁用为primo exe
可执行文件生成路径
模块:
when:
- condition: false
other-modules: Paths_primo
你没有做错什么。看来你遇到了麻烦。GitHub问题链接到一个解释并提供了一个解决方法。感谢您提供的信息!我不会使用这种变通方法,因为警告没有不良影响。