我应该使用堆栈来构建并上传到Hackage吗?

oro*_*ome 6 haskell cabal hackage haskell-stack

随着时间的推移,我开发了一个混乱的系统级Haskell安装,我不知道如何彻底清理.但是在大多数情况下,这并不是很重要,因为我只是使用堆栈来管理每个项目的Haskell配置.但是,由于我的项目要求与我的系统Haskell设置不同,我想知道为Hackage构建和上传包的最佳方法是什么.

具体来说(1)我应该使用

stack exec -- cabal sdist
stack exec -- cabal upload
Run Code Online (Sandbox Code Playgroud)

而不是简单的

cabal sdist
cabal upload
Run Code Online (Sandbox Code Playgroud)

(2)是否有任何理由安装项目版本的cabal(带stack build cabal?)

或者是否有一些更好的基于堆栈的方法来构建和分发到Hackage,而不涉及cabal直接调用?

ppb*_*ppb 7

根据我之前的评论添加答案.


stack 通过它提供相同的功能

  • stack sdist
  • stack upload

命令,不需要cabal直接在基于堆栈的项目中进行接口.

堆栈支持的完整命令列表可以通过以下方式获得:

$ stack --help
Run Code Online (Sandbox Code Playgroud)

官方文件.

各个命令还支持--help查看它们支持的命令行标志.