随着时间的推移,我开发了一个混乱的系统级Haskell安装,我not sure how to completely clean up。但是在大多数情况下,这并不是很重要,因为我只是使用stack来管理每个项目的Haskell配置。但是,由于我的项目要求与我的系统Haskell设置不同,我想知道为Hackage构建和上传包的最佳方法是什么。
特别是(1)我应该使用
stack exec -- cabal sdist
stack exec -- cabal upload
而不是简单
cabal sdist
cabal upload
和(2)是否有任何理由安装项目版本的cabal(stack build cabal
?)
或者是否有一些更好的基于堆栈的方法来构建和分发到Hackage,而不涉及直接调用cabal
?
答案 0 :(得分:6)
根据我之前的评论添加答案。
<小时/>stack
通过提供相同的功能
stack sdist
stack upload
命令,不需要在基于堆栈的项目中直接与cabal
连接。
堆栈支持的完整命令列表可以通过以下方式获得:
$ stack --help
单个命令还支持--help
以查看它们支持的命令行标记。