直到最近,我仍在执行此美工来构建+运行带有堆栈的项目:
stack build && .stack-work/install/x86_64-linux/lts-4.1/7.10.3/bin/<project-name>
我在IRC上被告知,可以简化为
stack build && stack exec <project-name>
能否进一步简化,以
stack run
或者至少
stack run <project-name>
?
如果我没记错的话,这是可能的cabal run
。
编辑:
@haoformayor的评论越来越近:
alias b='stack build --fast --ghc-options="-Wall" && stack exec'
尽管这仍然需要项目名称,对吗?
我也开始接近
function stack-run () { stack build && stack exec `basename "$PWD"` }
尽管这仅在项目名称与文件夹名称匹配时有效。也许我们可以查询cabal / stack以executable
获取.cabal文件中的第一个条目?也许我们可以用sed
...
我在以下方面有很好的经验:
https://hackage.haskell.org/package/stack-run
编辑2018-04-05:相关堆栈问题。
旧答案:
这就是我现在要做的。
#/usr/bin/env sh
stack build && stack exec `basename "$PWD"` "$@"
我已经把下列文件名为stack-run
下我$PATH
。~/.local/bin/stack-run
就我而言。
这让我能够
$ stack-run
在任何目录,甚至
$ stack run
由于几乎在我的所有项目中,项目的可执行文件都具有与文件夹相同的名称,因此可以正常工作。但是我希望通过支持不同名称来扩展它。
编辑2016-09-26:我也找到了这个,但是还没有尝试:https : //hackage.haskell.org/package/stack-run
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句