我知道这似乎重复找不到模块“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
上面的文件。
我觉得这个问题有一个我缺少的简单解决方案,但我已经尝试过,并进行了全面搜索,但我只是没有找到答案。
非常感谢您花时间帮助我。