2015-02-24 52 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