flycheck-haskell и doctest не работают над проектом Cabal 3.0 v2-build - PullRequest
1 голос
/ 20 сентября 2019

Я пытался создать проект локальной сборки (v2-build) в стиле Nix на Cabal 3.0.
Но некоторые инструменты разработки (flycheck-haskell и doctest) не работают.
Они работали над новымипостроить проект на Cabal 2.4.
Сообщение об ошибке говорит, что они не могут найти зависимости, насколько я прочитал.

$ cabal v2-clean
$ cabal v2-build
$ cabal v2-test
Build profile: -w ghc-8.8.1 -O1
In order, the following will be built (use -v for more details):
 - hstest9-0.1.0.0 (test:doctestd) (first run)
Configuring test suite 'doctestd' for hstest9-0.1.0.0..
Preprocessing test suite 'doctestd' for hstest9-0.1.0.0..
Building test suite 'doctestd' for hstest9-0.1.0.0..
[1 of 1] Compiling Main             ( test/doctest-driver.hs, /Users/user/work/hstest9/dist-newstyle/build/x86_64-osx/ghc-8.8.1/hstest9-0.1.0.0/t/doctestd/build/doctestd/doctestd-tmp/Main.o )
Linking /Users/user/work/hstest9/dist-newstyle/build/x86_64-osx/ghc-8.8.1/hstest9-0.1.0.0/t/doctestd/build/doctestd/doctestd ...
Running 1 test suites...
Test suite doctestd: RUNNING...

/Users/user/work/hstest9/src/MyLib.hs:3:1: error:
    Could not find module ‘Control.Effect’
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
3 | import Control.Effect
  | ^^^^^^^^^^^^^^^^^^^^^

Test suite doctestd: FAIL
Test suite logged to:
/Users/user/work/hstest9/dist-newstyle/build/x86_64-osx/ghc-8.8.1/hstest9-0.1.0.0/t/doctestd/test/hstest9-0.1.0.0-doctestd.log
0 of 1 test suites (0 of 1 test cases) passed.
cabal: Tests failed for test:doctestd from hstest9-0.1.0.0.

1 Ответ

1 голос
/ 20 сентября 2019

Ваш документ не найден GHC_ENVIRONEMNT .

Начиная с Cabal 3.0, cabal v2-build по умолчанию не генерирует файлы среды.

Начиная с Cabal 3.0, по умолчанию никогда.До этого, по умолчанию создавал их только при компиляции с GHC 8.4.4 и старше (GHC 8.4.4 - первая версия, которая поддерживает опцию -package-env -, которая позволяет игнорировать файлы среды пакета).https://www.haskell.org/cabal/users-guide/nix-local-build.html#cfg-field-write-ghc-environment-files

Таким образом, вы должны установить эту опцию для v2-build.

$ cabal v2-build --write-ghc-environment-files=ghc8.4.4+

Или вы можете написать это в $ HOME / .cabal / config для поведения клики по умолчанию.

write-ghc-environment-files: ghc8.4.4+
...