为什么在安装 yesod-bin 后会启动 cabal 沙箱?

why is the cabal sandbox inited after installing yesod-bin?

Yesod主页(http://www.yesodweb.com/page/quickstart)建议安装顺序如下:

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

我的问题是: 为什么 "cabal sandbox init" 不在 "cabal update" 之后?

在建议的方式中,alex happy yesod-bin 都安装在全局 space 而不是沙箱内。

谢谢, 亚历克斯

因为当人们不能直接 运行 yesod 时,它通常会使人们感到困惑;将可执行文件安装到 ~/.cabal/bin 意味着用户始终可以访问它们。它确实 将一些信息泄露到沙箱之外,但这通常是正确的权衡。