1. Get the Haskell Platform
  2. Update your list of packages
    cabal update
  3. Install Yesod and the latest version of Cabal
    cabal install Cabal cabal-install yesod
  4. Create a new project by answering a few questions of the scaffolding tool.
    yesod init
  5. Change into the project directory.
    cd my-project
  6. Automatically install all extra support libraries
    cabal install
  7. Start up your development server.
    yesod devel
  8. View your application at: http://localhost:3000
  9. Read the book to learn more about Yesod

Haskell install

Yesod requires the presence of the happy and alex binaries. These will be included if you install the Haskell Platform, but not if you install GHC by itself. Also, please ensure that the cabal bin folder is in your PATH variable.

Isolated builds with cabal-dev

Eventually you will probably want to use the cabal-dev tool to achieve an isolated build for your project. If you are having install conflicts you can try starting with that. Install cabal-dev with:

cabal install cabal-dev

Use it just like cabal:

cabal-dev install

Run the development server with the --dev otpion:

yesod --dev devel

Isolated Builds with virthualenv

If you are on Linux/Mac you can create isolated builds with virthualenv.

Database install

Sqlite has no dependencies. If you are going to use a PostgreSQL database you will need an appropriate PostgreSQL install (libpq-dev on debian systems), likewise for MongoDB.

Email install

In development mode e-mails are sent to the log. If you are going to send e-mail in production you will need a sendmail install or an Amazon SES account.

Build documentation

You can configure cabal to automatically generate documentation for all packages you install. To do so, edit your cabal config file (on Unix systems, in $HOME/.cabal/config) and set the "documentation" property to "True".

More help

More tips if you have install problems