1

stack haddock在由于一个包导致它挂起而无法在我的项目上运行之后(请参阅如何显示 `stack haddock` 的进度?)我尝试跳过该包

stack haddock --skip haskell-src-exts

但无论如何它仍然试图黑线鳕haskell-src-exts(并挂起)。应该怎么--skip做?

4

1 回答 1

1

--skip在堆栈 1.6.1 中引入,以避免构建项目的特定组件。一个组件对应于一个测试套件、一个可执行文件或一个基准套件。随着背包支持的实施,这也必须包括库。

stack build --help

--skip ARG 跳过给定的组件,可以指定多次

文档更详细。

  • --skip, 跳过本地包的构建组件。它允许您在不指定其他组件的情况下跳过测试套件和基准测试(例如stack test --skip long-test-suite,将在没有 long-test-suite测试套件的情况下运行测试)。请注意,由于cabal中的问题,第一次构建包时跳过可执行文件将不起作用 。可以多次指定此选项以跳过多个组件。

例如,一个包my-package可能有一个库、一个可执行文件my-executable和两个测试套件(unit-testsintegration-tests)。要构建和运行测试,您可以运行stack test. 添加--skip integration-tests将导致integration-tests组件不被构建(也不运行)。

不幸的是,当前版本的堆栈(1.9 分支)不支持为单个依赖项跳过黑线鳕,尽管在不久的将来会有类似的东西。我遇到了这个完全相同的问题(使用haskell-src-exts)。现在,我建议跳过所有黑线鳕依赖项(--no-haddock-deps)。

stack exec -- haddock如果您希望将参数传递给不与堆栈标志一起使用的 haddock,您可能希望调用 haddock --haddock-arguments

于 2018-10-31T11:37:17.387 回答