cabal通过沙箱从Hackage安装可执行文件?

dan*_*dan 7 haskell cabal

当我运行cabal install [pkg]并且pkg是命令行可执行程序而不是库时,它经常警告我这条消息:"警告:重新安装可能会破坏以下软件包"

我总是使用该--force-reinstalls选项继续.

但是因为我正在安装一个可执行文件而不是一个库,有没有办法cabal install在cabal沙箱中运行隔离构建过程,然后安装可执行文件~/.cabal/bin?或者这是我需要编写自定义bash脚本的东西吗?

bhe*_*ilr 9

我总是创造我的工具,如沙箱hoogle,pointfree,haddock,ghc-mod,hlint,shake,和stylish-haskell等.只需按以下步骤操作:

  • cabal sandbox init在您选择的位置创建一个cabal沙箱
  • cabal install [pkg1 [pkg2 ...]]
  • 完成后,将所需的可执行文件从.cabal-sandbox/bin文件夹复制到您的~/.cabal/bin/文件夹.
  • 运行cabal sandbox delete以删除您不再需要的可能非常大的沙箱.

这些可执行文件通常是完全独立的,因此您可以针对它们在沙箱中请求的依赖项构建它们,然后将它们移动到您想要的位置.这绝对有助于保持系统范围内的安装清洁并避免冲突.