On the Yesod homepage (http://www.yesodweb.com/page/quickstart) the following installation sequence is suggested:
wget http://www.stackage.org/lts/cabal.config
cabal update # download package list
cabal install alex happy yesod-bin # install build tools
yesod init --bare # answer questions as prompted
cabal sandbox init # set up a sandbox
cabal install --run-tests # install libraries
yesod devel # launch devel server
My question is: why is "cabal sandbox init" not directly after "cabal update"?
In the suggested way alex happy yesod-bin are all installed in the global space instead of inside the sandbox.
Thanks, Alex.
Because it generally confuses people when they can't run yesod
directly; installing the executables into ~/.cabal/bin
means that the user can always access them. It does leak some information outside of the sandbox, but it's typically the right trade-off to take.