当我尝试运行 Yesod 书中的第一个示例时,出现“无法找到模块‘Yesod’”

2024-01-14

我知道这似乎重复找不到模块“Yesod” https://stackoverflow.com/questions/14589358/could-not-find-module-yesod,但与该用户不同的是,ghc-pkg list不显示Yesod在我的计算机上的输出中,他们似乎没有使用stack(我是,我不确定这是否意味着我不需要担心ghc-pkg list),此外,该问题的答案(代码)对我的情况没有帮助。

The 耶索书 has an example http://www.yesodweb.com/book/basics#basics_hello_world我已经努力工作好几个小时了我会在这里重印

{-# LANGUAGE OverloadedStrings     #-}
{-# LANGUAGE QuasiQuotes           #-}
{-# LANGUAGE TemplateHaskell       #-}
{-# LANGUAGE TypeFamilies          #-}
import           Yesod

data HelloWorld = HelloWorld

mkYesod "HelloWorld" [parseRoutes|
/ HomeR GET
|]

instance Yesod HelloWorld

getHomeR :: Handler Html
getHomeR = defaultLayout [whamlet|Hello World!|]

main :: IO ()
main = warp 3000 HelloWorld

我正在使用最新的 64 位 Ubuntu 操作系统。我一直遇到的问题是runhaskell hello-world.hs会一次又一次地回来

hello-world.hs:6:18:
    Could not find module `Yesod'
    Use -v to see a list of the files searched for.

同样,当我添加一个module命名文件并尝试加载它stack ghci hello-world.hs。我在用着stack来构建东西,我尝试了许多不同的迭代stack new(使用 yesod 模板),stack init, and stack build的左和右,与stack update到处都是,甚至有一些cabal install的,连同整个Yesod 快速入门指南 http://www.yesodweb.com/page/quickstart,一切都无济于事,并且都在正确的目录中。

当我使用 Yesod 模板时simpleSQL,模板网站加载正确,而且我正在处理一个更大的项目,雪堆 https://git.gnu.io/snowdrift/snowdrift/tree/master,也可以运行(尽管作为一个站点,使用stack exec yesod devel而不是一个runhaskell FILE命令;但它仍然有效,并且我尝试了完全相同的构建过程来处理hello-world.hs上面的文件。

我觉得这个问题有一个我缺少的简单解决方案,但我已经尝试过,并进行了全面搜索,但我只是没有找到答案。

非常感谢您花时间帮助我。


runhaskell hello-world.hs and ghc-pkg list将默认使用全局系统和用户包数据库(即 cabal-install 通常使用的数据库),而不是堆栈使用的快照和特定于项目的数据库(另请参阅:为什么 stack 不将包添加到 ghc 包数据库中? https://stackoverflow.com/q/31393189/2751851)。你应该使用stack runghc hello-world.hs and stack exec -- ghc-pkg list。堆栈命令确保 GHC 工具使用适当的包数据库(以及适当的 GHC 版本,以防您需要stack setup使用与系统范围内安装的 GHC 不同的 GHC)。

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

当我尝试运行 Yesod 书中的第一个示例时,出现“无法找到模块‘Yesod’” 的相关文章

随机推荐

  • JPA Criteria API 过滤器子实体

    代码示例 Entity public class Event Id GeneratedValue private Long id private String name OneToMany mappedBy event private Li
  • 防止 PHP date() 默认为 12/31/1969

    我正在使用 MySQL 数据库和 PHP 我使用以下命令将日期值存储在数据库中DATETIME field 我正在使用此 PHP 代码将输入的日期转换为适合 MySQL 的格式 date Y m d H i s strtotime inpu
  • 水平扩展的微服务实例是否应该共享数据库?

    给定一个拥有关系数据库并需要水平扩展的微服务 我看到两种配置数据库服务器的方法 为服务的每个实例提供其自己的数据库服务器实例 并具有耦合的流程生命周期 OR 让实例连接到共享 由同一服务的相同实例 独立数据库服务器或集群 使用事件驱动架构和
  • NotificationCompat.Builder 中出现 NoClassDefFound 错误

    这个概念是在特定时间收到通知 显然 我做到了 直到我添加了对低于以下版本的支持HoneyComb并在其上方 我已经设置了最小 SDK 版本 8 和目标 SDK 17 由于类编码要大得多 我仅显示存在问题的核心区域 int currentap
  • 为什么最好将 script 标签放在 body 标签的末尾?

    有两个与浏览器网页初始化相关的事件 DOMContentReady document object 解析 HTML 文档并构建 DOM 树 load window object HTML 文档的所有元素都被渲染 显示 根据我的理解 浏览器无
  • 无法找到捆绑的 Java 版本。 MacBook Air M1

    我在配备 intel 的 MacBook Pro 上使用 flutter 一切正常 现在我改用配备 M1 芯片的 MacBook Air 我收到错误无法找到捆绑的 Java 版本 请问我该如何解决它 扑动医生 v Flutter 频道稳定
  • 在 Apps 脚本中设置数据验证显示样式

    是否可以在应用程序脚本中设置下拉列表显示样式 检查文档后发现 API 只允许您在 箭头 和 纯文本 之间进行选择 应用程序脚本文档 https developers google com apps script reference spre
  • 无法以编程方式在 C:\inetpub\wwwroot 中创建文件

    我在 ASP NET 网页的代码后面有一个函数 它创建一个文件 然后使用 JavaScript 命令打开它 这在 IDE 中有效 它会创建文件 询问我要在哪里保存文件 我可以保存它 等等 但是当我安装网站并测试它时 我在尝试创建网站时收到
  • Internet Explorer 8 原型和 XMLHttpRequest

    这部分是对解决方法的请求 部分是试图表明 Internet Explorer 的原型实现仍然有缺陷 以下代码在 Internet Explorer 上不起作用 XMLHttpRequest prototype old XMLHttpRequ
  • 如何关闭 Safari 的预取功能?

    Safari 有一个 功能 可以在您输入网址时预加载页面 现在对于大多数用户来说 这确实是一个功能 可以加快页面加载速度 但对于 Web 开发人员来说 它可能会带来麻烦 特别是当它自动加载您之前使用过但当前无意运行的脚本 例如导入程序或后台
  • 根据 Celery 任务状态更新 Django 模型字段

    在我的模型中 我有一个status默认值为 处理 的字段 在 Django 管理界面中 用户单击 保存 按钮后 表单输入将传递给仅休眠 30 秒的 celery 任务 30 秒后 我该如何 判断celery任务是否成功 更新模型的statu
  • 如果浏览器不是 Internet Explorer 9 或更高版本,则显示一条消息

    我想向我的用户展示一个如下所示的栏 如果 浏览器不是IE 或者 浏览器为 IE 但版本为 8 或更早 请注意 屏幕截图仅用于说明 IE 9is支持我的网站 我发现了这个不错的 jQuery 插件 但我不想使用弹出窗口 http jrejec
  • x 轴刻度日期格式和位置

    我尝试使用 matplotlib 复制最初使用 flotr2 创建的绘图图以进行 pdf 输出 我必须说 flotr 更容易使用 但除此之外 我目前一直在尝试将 x 轴上的日期 时间格式化为所需的格式 即小时 分钟 每 2 小时间隔一次 如
  • 如何恢复 .condarc 中 env_prompt 参数的默认行为?

    如果你创建一个python环境conda with prefix标记并激活它 激活后环境将通过其整个路径显示 这可能是一条很长的路 因此conda 文档 https docs conda io projects conda en lates
  • Spark 中的任务不可序列化

    我有这样的转变 JavaRDD
  • WPF 本机 Windows 10 Toast

    使用 NET WPF和Windows 10 有没有办法使用c 将本地toast通知推送到操作中心 我只看到人们为此制作自定义对话框 但必须有一种方法可以通过 os 您可以使用NotifyIcon from System Windows Fo
  • 使用 YAML 和过滤器登录 python

    想要使用 YAML 设置带有过滤器的记录器 YAML 配置文件config yaml如下 version 1 formatters simple format asctime s name s message s extended form
  • swift 中的默认初始化器

    我创建了一个带有字符串选项 字符串 的 swift 类 并在另一个 swift 文件中实例化了该类 但出现了编译错误 当我在同一文件中实例化该类时 没有错误 我做错了什么吗 我仔细检查了该行为 并且该行为即使与 swift 文档中给出的类定
  • 无法在android中调用REST API

    我正在尝试从手机调用 REST Web 服务 我正在使用以下代码来完成此操作 我只有一项具有按钮和文本视图的活动 每当我单击按钮时 它都会出现以下错误logcat AndroidRuntime at android os Handler d
  • 当我尝试运行 Yesod 书中的第一个示例时,出现“无法找到模块‘Yesod’”

    我知道这似乎重复找不到模块 Yesod https stackoverflow com questions 14589358 could not find module yesod 但与该用户不同的是 ghc pkg list不显示Yeso