Her*_*ral 9 haskell sandbox package-managers cabal
Haskell新手和Python家伙在这里.
我想我可能会在这里遗漏一些东西但是如果你看看Yesod的快速启动,那么autor 之前会 安装一些软件包cabal sandbox init.我在其他地方看到过相同的模式.问题:
cabal sandbox init不更改PATH以匹配沙盒版本?非常感谢你提前!
是的,这个如何使用沙盒.
cabal sandbox init 将为您创建一些文件/目录,以跟踪您已安装的软件包.
cabal install some_package 将该包安装到沙箱中.
非常欢迎您安装yesod-bin到沙箱中.
阅读要点2
cabal sandbox init不会改变你的路径,因为它并不真正需要.只需加入PATH=.cabal-sandbox/bin:$PATH你的.bash_profile.
与virtual-env不同,您永远不需要"启用"或"禁用"沙箱.您只需cd进入一个目录,它就会自动启用.
我发现cabal沙箱唯一真正的缺点是,你需要在根目录中才能对沙箱进行操作.这意味着,如果您位于子目录中,则运行cabal install some_package不会将其安装到上一级别的沙箱中,而是将其安装到全局或用户数据库中,具体取决于您的cabal配置方式.
cabal exec允许您在沙箱的上下文中执行程序.它会更改路径以包含bin沙箱的文件夹.您可以通过cabal exec printenv在沙箱中执行来查看它.
此外,最新版本cabal允许您在没有.cabal文件的文件夹中创建沙箱.运行后cabal sandbox init,您可以只cabal install需要所需的依赖项.
因此,要使用不同的版本yesod-bin,请将它们安装在不同的沙箱中,然后cabal exec yesod-bin在每个沙箱中调用它们.
(额外提示:cabal exec gchi是一个有用的命令,可以ghci识别沙箱的内容.)
| 归档时间: |
|
| 查看次数: |
833 次 |
| 最近记录: |