带有错误模块“main:Main”的 stack ghci 在多个文件中定义:

2024-03-14

我有一个小的 haskell 程序,它可以使用堆栈构建和执行。当我开始时stack ghci我收到一条错误消息,我不明白并且无法继续。

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.
Loaded GHCi configuration from /home/frank/Workspace11/primo/.ghci

<no location info>: error:
    module ‘main:Main’ is defined in multiple files: /home/frank/Workspace11/primo/app/Main.hs
                                                     /home/frank/Workspace11/primo/app/Main.hs

我不明白为什么相同Main在完全相同的文件中列出两次。

我有一个有点类似的警告消息Paths_primo这是一个已知的错误(堆栈问题#5439),我按照建议修复了see https://stackoverflow.com/questions/66579458/ghci-module-mainmain-is-defined-in-multiple-files-in-new-small-stack-init/66600663#66600663.

解决这个错误的方法是什么?我没用过stack很多 - 我做错了什么吗?


这看起来像是一个迹象Main.hs or Main无意中在您的堆栈中多次列出package.yaml,以这样的方式ghc多次出现时会被调用。

仅使用 GHC 就可以轻松重现此错误,例如:

> echo 'main = putStrLn "hello"' > Hello.hs

> ghc Hello Hello.hs
<no location info>: error:
    module ‘main:Main’ is defined in multiple files: Hello.hs Hello.hs

我会运行堆栈--verbose并查看 GHCi 是如何被调用的,并仔细检查package.yaml并生成 Cabal 文件。 (如果您编辑问题以包含这一点,我们也许能够提供更具体的帮助。)

我可以想到几个可能的原因,例如逐字列出Main or Main.hs多次(例如在exposed-modules, other-modules, main-is);或诸如缺少选项值之类的交互ghc-options字段导致后续标志被误解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有错误模块“main:Main”的 stack ghci 在多个文件中定义: 的相关文章

随机推荐

  • 如何将列表列表转换为数据框 - 不相同列表

    我有一个列表 其中每个元素都是命名列表 但元素在各处并不相同 我已阅读有关如何将列表列表转换为数据帧的解决方案here https stackoverflow com questions 4512465 what is the most e
  • 鼠标悬停时更改画布中的颜色线

    我在画布上有一些线条 我希望当鼠标悬停在该行上时 每行都会改变颜色 但我对此问题有一些问题 有没有JS库可以帮我解决这个问题 你能帮助我吗 谢谢 var canvas document getElementById myCanvas var
  • 使用 AsyncTask 填充 ListView

    这可能不是很优雅 但我想做的是连接到 Web 服务 获取 JSON 解析它 从中创建一个对象 将该对象添加到 ArrayList 然后使用该 ArrayList 来填充我的列表显示 我正在尝试使用 AsyncTask 来完成所有这一切 摘要
  • CSS3显示:表格,溢出-y:滚动不起作用

    我有一个需要垂直滚动的数据表 看来如果你的display值为table 您不能设置height or 最大高度 所以溢出 y 滚动什么也没做 带表格的 Codepen http codepen io anon pen MYZJdE fake
  • 使用pivot_longer整理数据集:将多列分成两列

    我大家 我目前正在学习 R 并尝试使用 tidyverse 包中的pivot longer 整理数据集 我有这个小事 title actor 1 actor 2 actor 3 actor 1 FB likes actor 2 FB lik
  • Eclipse 中的 XML 验证和自动完成

    在android SDK中 当我编辑android布局xml文件时 它可以进行验证和自动完成 这是如何运作的 如何使用我自己定义的 xml 格式使 eclipse 验证并自动完成 Eclipse 可用于编辑和验证 XML 文件 我在 Ecl
  • 如何延迟谷歌自动完成功能以节省信用

    正如你所知 每次我们输入谷歌地图自动完成功能都会触发 我想为此设置一个延迟函数 例如250毫秒 这样可以给用户更多的时间来输入并节省积分 我尝试添加 timeout 但看起来它对我不起作用 请您帮我看看这个好吗 提前致谢 网页
  • 可以跨域获取iframe的url吗?

    如果是跨域 iframe 如何在页面加载时获取 iframe 的当前 url 背景 我正在尝试在我的网站上启用 SSL 但是 我的用户需要能够通过 iframe 加载任何 url 如果他们尝试使用 http 协议加载 iframe 它将拒绝
  • 项目中不存在目标“/t:native_metrics”

    我想在我的项目上安装 newrelic 但我从控制台收到 node modules newrelic native metrics build bind ing sln metaproj error MSB4057 The target t
  • java网格包布局:避免中心对齐

    在我的 GUI 应用程序中 我有几个 JPanel 它们在程序运行期间的不同点被实例化 并且某些操作将导致其中之一显示在滚动窗格中 mViewport setViewportView currentPanel 问题是 我的面板是使用网格包布
  • Android 中 Imageview 的圆角

    我在线性布局中有一个文本视图和图像视图 Textview 位于顶部 imageview 位于底部 我使用下面的线条来实现线性布局的圆角 但 imageview 的角不是圆角的 我看到只有线性布局的顶角是圆角的 如何使 imageview 的
  • Ansible:如何从另一个变量构造一个变量,然后获取它的值

    这是我的问题 我需要使用一个变量 target host 然后将 host 附加到它的值以获取我需要其值的另一个变量名称 如果你看看我的剧本 任务 nbr 1 2 3 获取变量的值 但是 nbr 4 无法执行我所期望的操作 有没有其他方法可
  • Rails 控制台未将 SQL 语句输出到我的开发日志

    当我通过本地主机访问 Webrick 服务器时 或者当我运行 Rails 迁移时 我的development log 会被正确写入 但是 当我使用 rails c 启动 Rails 控制台 然后尝试创建一个新的数据库对象并通过 user s
  • WSO2AM - SAML - 提供的授权无效

    我正在将 WSO2AM 与我们内部专有的身份提供商 IDP 集成 我正在关注 wso2 文档 与 OAuth2 交换 SAML2 承载令牌 SAML 扩展授予类型 https docs wso2 com display AM210 SAML
  • iOS CoreLocation 检查 CLLocation 时间戳以使用它

    如何检查 CLLocation 对象并决定是要使用它还是丢弃结果并获取新的位置更新 我在 CLLocation 上看到了时间戳属性 但我不确定如何将其与当前时间进行比较 另外 在我比较时间并发现以秒为单位的差异之后 差异应该在什么值以下才能
  • 绘制并填充自定义形状

    我正在尝试使用 Android 中的 Path 对象创建自定义形状 但遇到了一个奇怪的问题 我想要实现的目标如下图所示 这是我用来绘制和填充形状的代码 public class BallView extends RelativeLayout
  • Linux 中的调度:在计算机空闲时运行任务(= 无用户输入)

    我想跑折叠 home http folding stanford edu 我的 Ubuntu 8 10 机器上的客户端仅在空闲时运行 因为该程序消耗大量 RAM 我所说的 空闲 是指没有用户活动 键盘 鼠标等 时的状态 由于 F H 具有最
  • 有 JPasswordField 的替代方案吗?

    当输入如下密码时 yeast bulk seize is shows pain 每个人都可以听到敲击空格键的声音 因此在密码字段中显示空格似乎也是合乎逻辑的 所以我想要一些能够展示的东西 代替 这将使打字变得更容易 同时几乎不会降低安全性
  • Webpack + Babel 错误

    我正在尝试配置 webpack 并让一切正常运行 但现在遇到了同样的错误 我梳理了其他一些帖子 这些帖子似乎是通过纠正拼写 语法错误来解决的 但我似乎无法找出代码中的任何错误 是不是有更严重的事情发生了 ERROR in src compo
  • 带有错误模块“main:Main”的 stack ghci 在多个文件中定义:

    我有一个小的 haskell 程序 它可以使用堆栈构建和执行 当我开始时stack ghci我收到一条错误消息 我不明白并且无法继续 GHCi version 8 10 4 https www haskell org ghc for hel