2015-02-24 42 views
1

在耶索德主页(http://www.yesodweb.com/page/quickstart)下面的安装顺序建议:安装yesod-bin之后,为什么cabal沙盒会被加入?

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 

我的问题是: 为什么不是后直接“小集团更新”,“阴谋沙箱初始化”?

以建议的方式alex happy yesod-bin都安装在全局空间而不是沙箱内。

谢谢, Alex。

回答

4

因为一般人不能直接运行yesod就会迷惑人;将可执行文件安装到~/.cabal/bin意味着用户可以随时访问它们。它确实泄漏沙盒外的一些信息,但它通常是正确的权衡取舍。

+0

为了补充说明,alex和happy是几个软件包使用的构建工具,但不幸的是Cabal [不会自动安装构建工具](https://github.com/haskell/cabal/issues/220)。您可能希望它们位于您的全局包数据库中,以防止安装其他包的错误 – MaxGabriel 2015-02-24 16:54:54

+0

好像有人遇到过类似的问题,并稍微更改了工作流程以将其全部存入沙箱中:https://gist.github.com/krdlab/712defa9304069af583d – Carsten 2015-04-01 13:00:35