这就是我所做的:
makdir happstack_01
cabal-dev install happstack-server
用“import Happstack.Server(nullConf,simpleHTTP,toResponse,ok)”编写典型的helloworld.hs“
ghc -threaded HelloWorld.hs -o helloworld
我得到了: 找不到模块`Happstack.Server'
这是如此明显的错误。但令我更惊讶的是,谷歌没有教程这么简单。
任何直觉都会很棒!
答案 0 :(得分:3)
既然你想要一个小教程,我正在写我是如何让它工作的。虽然我使用了cabal而不是cabal-dev(如果你关心,请告诉我,我可以玩一点)....
> cabal install happstack-server
> mkdir sample
> cd sample
然后我创建了文件sample.hs
import Happstack.Server
main = simpleHTTP nullConf $ return "hello, world!"
我编译了它
> ghc sample.hs
(这是你在寻找库时遇到问题....你可能想检查〜/ .ghc // package.conf.d / happstack-server-7.3.1-.conf和〜 /.cabal/packages/hackage.haskell.org/happstack-server/存在以验证下载)
然后运行服务器
./sample
并使用curl
> curl http://127.0.0.1:8000
这应该回复
hello, world!
答案 1 :(得分:3)
这是一组非常简单,Cabalized和沙盒构建的说明。
$ mkdir happstack01 && cd happstack01/
$ cabal init .
$ <CR><CR><CR><CR><CR><CR><CR><CR><CR> 1 <CR><CR><CR>
$ mkdir src
$ touch src/Main.hs
$ vi happstack-01.cabal
在happstack01.cabal
...
library
exposed-modules:
Main
build-depends: base >=4.6 && <4.7
, happstack-server
hs-source-dirs: src
default-language: Haskell2010
然后
$ cabal sandbox init
$ cabal install --only-dependencies
$ vi src/Main.hs
在src/Main.hs
import Happstack.Server
main :: IO ()
main = simpleHTTP nullConf $ return "Hello sandbox!"
在沙箱构建时喝点咖啡。
$ cabal repl
> main
在此之后,我通常会在Cabal文件中添加一个executable
条目,然后开始构建服务器。
答案 2 :(得分:0)