今天我们来认识一下yesod-bin
从一个干净的环境下进行如下安装步骤,以windows为例
- 安装haskell-platform(你可以手动安装cabal和ghc)
- 更新cabal。 cabal update
- 更新caball-install。 cabal install –global cabal-install 记得一定要带上global参数,否则你的更新只是在当前的cabal环境中,并没有什么luan用
- 切换到一个目录下(例如c:\lib\yesod) 这个目录会成为你的yesod的主目录,就像jdk一样
- 执行cabal sandbox init 我们使用沙盒技术,来将所需要的依赖都安装在此目录中
- 这里是可以复制一个叫做cabal.config的文件的,但是我尝试过两个链接https://www.stackage.org/nightly-2015-05-28和http://www.stackage.org/lts/cabal.config,反而会引起yesod安装不成功,故跳过此步
- 安装yesod-bin。 cabal install yesod-bin (在http://blog.pangyanhan.com/haskell/2013-11-31-using-cabal-sandbox-libraries.html这里,第7步和第8步是相反的,但是我按照他说的安装不了,倒置之后可以成功)
- 安装yesod。 cabal install yesod (觉得没什么luan用,但保险起见还是安装一下)
- 设置环境变量,将c:\lib\yesod.cabal-sandbox和c:\lib\yesod.cabal-sandbox\bin增加到path中,你应该会注意到在\bin下面有一个yesod.exe.对的,我们接下来主要使用这个东西
- 现在进入到你的工程目录中
- 执行yesod init 按提示生成你需要的工程种类。我这里选择了simple
- 现在可以http://www.yesodweb.com/book/basics 这里的Helloworld来测试一下。
Done
接下来我们想搞搞数据库方面。按照http://www.yesodweb.com/book-1.4/persistent第一段代码,实验一下。
>runHaskell -package-db=c:\lib\yesod\.cabal-sandbox\i386-windows-ghc-7.8.3-packages.conf.d Db
不出意外的话,你会收到一条Error信息,提示Database.Persist.Sqlite找不到,那我们回来安装一下
切换到c:\lib\yesod,执行 cabal install persistent-sqlite
重新执行。
Done!
如果你想尝试mysql的连接,可以使用yesod init 来生成带有mysql的项目,然后执行
runHaskell -package-db=c:\lib\yesod\.cabal-sandbox\i386-windows-ghc-7.8.3-packages.conf.d app/main
会提示你,ClassyPrelude.Yesod,Database.Persist.MySql,Yesod.Static,Yesod.Jesmini没有安装
还是回到c:\lib\yesod目录
执行cabal install yesod.static 可以消除Yesod.static和Yesod.Jesmini的错误
但是当你安装cabal install persistent-mysql时,会提示你需要linux环境来编译pcre-light包。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-08 23:47:38