n番煎じのyesod入門ーとりあえずプロジェクトを作ってみる

yesodとは

haskellで作られたweb frameworkです。
Yesod Web Framework for Haskell

インストール

公式サイトのYesod quick start guideのとおりに

cabal install yesod-platform yesod-bin

すると依存関係がぶち壊れる可能性大なので
cabal-devを使ってインストールするのがおすすめ。*1

cabal install cabal-dev
mkdir -p ~/haskell/yesod
cd /haskell/yesod
cabal-dev install yesod-platform yesod-bin

*2 *3

プロジェクト作成

./cabal-dev/bin/yesod init

プロジェクト名ははmyFirstYesod、データベースはMySQLを使うことにしました。

起動

cd myFirstYesod/
../cabal-dev/bin/yesod --dev devel

http://localhost:3000/にアクセスするとテストページが表示されるはずです。

トラブルシューティング1

ここで

cabal: Cannot find the program 'ghc' at 'yesod-ghc-wrapper' or on the path

というエラーメッセージが出たら

cabal-dev/bin

cabal-dev/lib

にパスを通しましょう。

トラブルシューティング2

Resolving dependencies...
Configuring myFirstYesod-0.0.0...
cabal: At least the following dependencies are missing:
aeson -any,
conduit >=1.0,
fast-logger >=2.0,
hamlet ==1.1.*,
以下略

こんな感じのエラーが出たら...
"--dev"オプションをつけて起動していますか?
"--dev"オプションをつけないとcabal-devでインストールしたlibraryを読み込みません。*4

*1:最新版のcabalでcabal sandboxを使うのもアリかも。やったことないけど。2013年8月現在のHaskell開発環境 - maoeのブログ

*2:cabal-devについてはここを参考にしました。cabal の使い方 - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

*3:そもそもこのインストール方法はここの丸パクリです。Yes, Yesod! - Just $ A sandbox

*4:yesodのマニュアルが見つからなかったのでこれは未確認情報です。