如何使用 stack/cabal 按顺序构建每个 haskell 包?

How to build sequentially each haskell package using stack/cabal?

我正在尝试调试一些编译问题,我想知道是否可以使用非交错构建步骤,如此处所示。

$ stack build
string-conv-0.1: configure
string-conv-0.1: build
dotnet-timespan-0.0.1.0: configure
dotnet-timespan-0.0.1.0: build
servant-0.7: configure
string-conv-0.1: copy/register
dotnet-timespan-0.0.1.0: copy/register
servant-0.7: build
control-monad-omega-0.3.1: configure
control-monad-omega-0.3.1: build
swagger2-2.0.1: configure
control-monad-omega-0.3.1: copy/register
swagger2-2.0.1: build
eventstore-0.12.0.0: configure
eventstore-0.12.0.0: build
servant-0.7: copy/register
servant-client-0.7: configure
servant-client-0.7: build
servant-docs-0.7: configure
servant-docs-0.7: build
servant-client-0.7: copy/register
servant-server-0.7: configure
servant-server-0.7: build
servant-server-0.7: copy/register
servant-docs-0.7: copy/register
swagger2-2.0.1: copy/register
servant-swagger-1.0.3: configure
servant-swagger-1.0.3: build
servant-swagger-1.0.3: copy/register
eventstore-0.12.0.0: copy/register
pl-cqrs-0.1.0.0: configure
pl-cqrs-0.1.0.0: build
pl-cqrs-0.1.0.0: copy/register
pl-server-0.1.0.0: configure
pl-server-0.1.0.0: build
pl-server-0.1.0.0: copy/register
pl-wrapper-0.0.0: configure
pl-wrapper-0.0.0: build
pl-wrapper-0.0.0: copy/register
Completed 13 action(s).

您可以覆盖用于编译的作业数量

stack build --jobs=1

没有它

$ stack build
hnexus-models-0.1.0.0: configure
hnexus-models-0.1.0.0: build
key-doc-schema-0.1.0.0: configure
key-doc-schema-0.1.0.0: build
key-doc-schema-0.1.0.0: copy/register
key-doc-client-0.1.0.0: configure
hnexus-models-0.1.0.0: copy/register
key-doc-client-0.1.0.0: build
hnexus-mschema-0.1.0.0: configure
hnexus-mschema-0.1.0.0: build
...

有了它

$ stack build --jobs=1
hnexus-models-0.1.0.0: configure
hnexus-models-0.1.0.0: build
hnexus-models-0.1.0.0: copy/register
hnexus-mschema-0.1.0.0: configure
hnexus-mschema-0.1.0.0: build
hnexus-mschema-0.1.0.0: copy/register
bnexus-mschema-0.1.0.0: configure
bnexus-mschema-0.1.0.0: build
bnexus-mschema-0.1.0.0: copy/register
bnexus-client-0.1.0.0: configure
bnexus-client-0.1.0.0: build
...