Yesod:被困在“七周内的七个Web框架”一书中

时间:2015-03-01 09:48:14

标签: haskell yesod

我根据quick start guide安装了Yesod。

我在七周内购买了“七个Web框架”这本书,我正在努力跟进。我在第204页(第1天:使用模型)。当我进入

ghci Model.hs

为了将一些数据输入数据库,正如书中所说,我得到了这个:

GHCi, version 7.8.3: http://www.haskell.org/ghc/  :? for help 
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.

Model.hs:3:8:              
    Could not find module ‘ClassyPrelude.Yesod’ 
    Use -v to see a list of the files searched for.    

Model.hs:4:8:                                   
    Could not find module ‘Database.Persist.Quasi’ 
    Use -v to see a list of the files searched for.
Failed, modules loaded: none.  

我被困住了。我是Haskell的新手(但不是新手)和Yesod,所以我不知道该怎么办。

提前致谢。

2 个答案:

答案 0 :(得分:5)

本快速入门指南中的说明导致您为项目创建一个沙箱,因此您安装的依赖项仅在此沙箱中可用(这是谨慎且可以说是正确的方法,避免冲突并简化清理)。 GHCi是GHC的一部分,并且不知道沙箱(这是仅来自cabal的概念)。

要从项目的根目录启动沙箱启动cabal repl中的交互式shell,如果Model.hs位于src中,请使用:load src/Model.hs

答案 1 :(得分:1)

您似乎没有安装classy-prelude-yesod包。如果您安装了cabal,则可以轻松安装任何缺少的软件包。为此,您可以在OS命令提示符下输入以下内容:

cabal install classy-prelude-yesod

如果您缺少任何其他包,则可以使用相同的方法。